Можно ли назвать состояние по-другому (с другим именем, например «globalState») в ReactJS?

Я новичок в React (всего 1 онлайн-курс) и открываю для себя магию реквизита и состояния. Я понимаю, что реквизиты неизменны, а состояние изменчиво. Мне становится понятнее их использование, но есть один момент, который я хотел бы уточнить, который я не смог найти в Интернете.

Таким образом, реквизиты могут передаваться от родителя к дочернему, и когда они передаются, имя переменной, содержащей реквизит, может быть изменено. Когда состояние или его значения передаются дочерним компонентам, дочерним компонентам также передается механизм, позволяющий дочерним элементам изменять состояние на родительском уровне.

Я надеюсь, что это правильно, поскольку это то, что я понял о свойствах и состоянии.

Теперь у меня есть проект, в котором у меня есть «App.js», который является самым верхним родителем с «Home.js» в качестве его дочернего элемента. Я планирую использовать state в обоих случаях. Но state в App.js — это что-то вроде глобального состояния (и я не хочу использовать избыточность), а state в Home.js — это состояние, которое приложение будет использовать для своего обычного использования.

Теперь они оба именуются в формате state = {} (я использую компоненты на основе классов) и называются this.state, но внутри своих собственных компонентов, что работает нормально.

Мой вопрос касается формата именования состояния как state, является ли это обязательным или просто стандартом, которому должны следовать разработчики?

Я пытался изменить имя состояния, и, похоже, это сработало, но, возможно, я сделал что-то не так, поскольку я действительно не ожидал, что это сработает... поэтому я хотел подтвердить, можно ли изменить имя состояния. состояние в компоненте на что-то вроде globalState или store

Любые советы будут оценены.

примечание: компоненты класса несколько устарели. если вы только начинаете реагировать, я рекомендую использовать функциональные компоненты везде. обратите внимание, что документация по реакции — это переписывается с функциональными компонентами и хуками по умолчанию. это все еще в бета-версии. или ознакомьтесь с полным неофициальным первые документы.

szaman 09.04.2022 11:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При написании компонентов класса вы можете обновить состояние только с помощью метода setState, и он запишет состояние в свойство state.

Хотя я предполагаю, что вы могли бы добавить в класс свойство-геттер globalState, которое возвращает значение state, это кажется бессмысленным.

Обратите внимание, что сохранение данных в других свойствах вместо использования setState для записи в них не вызовет повторный рендеринг. Вы просто пишете в свойство объекта и не имеете дело ни с чем, что React считает состоянием.


При написании функциональных компонентов состояние обрабатывается с помощью хука useState, а обработка сохранения данных состояния выполняется внутренними компонентами React. Затем значение состояния присваивается любой переменной, которой вы хотите его присвоить после чтения возвращенного массива состояний.

const [anyName, setAnyName] = useState(defaultValue);
const [anyOtherName, setAnyOtherName] = useState(otherDefaultValue);

Итак, чтобы подтвердить, переменная/объект, который содержит состояние, всегда должна называться state... верно? .. Я бы не хотел добавлять свойство геттера globalState, как вы правильно упомянули, это было бы бессмысленно .. но я думал об именовании state как globalState при инициализации свойства .. и из вашего ответа я понимаю, что это не правильный поступок.. я прав?

Alim Bolar 09.04.2022 11:08

Да, это правильно.

Quentin 09.04.2022 11:12

Другие вопросы по теме