Передача переменного аргумента в React useState - PullRequest
0 голосов
/ 24 июня 2019

Реакция документов:

const [state, setState] = useState(initialState);

Во время начального рендеринга возвращаемое состояние (состояние) совпадает со значением, переданным в качестве первого аргумента (initialState).

Я понимаю, что это говорит, и что initialState подразумевается неизменным. Но происходит ли что-нибудь, если initialState имеет другое значение при последующих рендерах? Верно ли предположить, что initialState читается только один раз (при первом вызове useState)?

1 Ответ

0 голосов
/ 24 июня 2019

Аргумент initialState передается и используется useState только один раз во время начального рендеринга, и любое последующее изменение initialState, не сделанное с помощью мутации по ссылке, не обновит значение состояния.

Однако,если вы изменяете initialState по его ссылке, это может отражаться в состоянии.Однако, если вы обновите состояние хотя бы один раз перед изменением initialState, состояние больше не будет ссылаться на initialState и, следовательно, даже изменение initialState не будет отражать изменение состояния.

...