Как изменить начальное состояние, установленное в редукторе, из другого компонента - PullRequest
0 голосов
/ 13 февраля 2019

Я установил начальное состояние в моем редукторном редукторе для авторизации при входе в систему. Скажите authError=null при успешном входе в систему. Я хотел бы изменить его.Когда я нажимаю кнопку выхода, я хочу установить authError = ''.

Могу ли я перейти в состояние готовности редуктора только для чтения?

Компонент

   const {authError} = this.props;
   this.setState(authError = "")

Редуктор

 const initState = {
 authError : '',
 empname : 'test', phoneno:'321' 
 }

 const signin = (state = initState, action) => {

switch(action.type){
  case 'SIGN_IN':
    const empname = action.payload.empname;
    const phoneno = action.cred.phoneno;
    console.log('===============$$$=====================');
    console.log(empname, phoneno);
    console.log('===============$$$=====================');
    return {
      ...state,
      authError : null,
      empname,
      phoneno
   }
} 

1 Ответ

0 голосов
/ 13 февраля 2019

Нет, вы не можете позвонить setState на реквизит.Поскольку реквизиты используются для настройки Компонента при его создании и присвоения ему других параметров.

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

A reducer - это чистая функция, которая принимает предыдущее состояние и действие в качестве аргументов и возвращает новое состояние.

В коротком редукторе отправляет состояния приложений на подходящие компоненты в виде подпорок.Если вы хотите изменить значение prop у компонента, вам нужно определить отдельное действие и изменить значение в этом действии, а затем вы можете вернуть измененное значение.

Вы можете легко начатьчитая это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...