Можно ли назвать состояние по-другому (с другим именем, например «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
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
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

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