Чи можна зберігати об'єкт у стані компонента React? Якщо так, то як ми можемо змінити значення ключа в цьому об’єкті за допомогою setState
? Я думаю, що синтаксично не дозволяється писати щось на зразок:
this.setState({ abc.xyz: 'new value' });
У подібних рядках я маю ще одне запитання: чи нормально мати набір змінних у компоненті React, щоб їх можна було використовувати в будь-якому методі компонента, замість того, щоб зберігати їх у стані?
Ви можете створити простий об'єкт, який вміщує всі ці змінні, і розмістити його на рівні компонента, подібно до того, як ви оголошуєте будь-які методи на компоненті.
Дуже ймовірно трапляються ситуації, коли ви включаєте багато комерційної логіки у свій код, і для цього потрібно використовувати багато змінних, значення яких змінюються кількома методами, а потім ви змінюєте стан компонента на основі цих значень.
Отже, замість того, щоб зберігати всі ці змінні в стані, ви зберігаєте лише ті змінні, значення яких повинні бути безпосередньо відображені в інтерфейсі користувача.
Якщо такий підхід кращий за перше запитання, яке я написав тут, тоді мені не потрібно зберігати об’єкт у стані.
this.state
, і дзвонити вrender()
будь-який час, коли ви щось змінюєте всередині нього; чи вважається це повним ні-ні серед досвідчених розробників React?