не могу установить флажок в реакции с редукцией - PullRequest
0 голосов
/ 19 июня 2020

Я сохраняю данные формы в ответ на хранилище redux, и каждый ввод работает нормально, кроме флажка. Проблема в том, что флажок никогда не показывает отметку, но redux-logger показывает, что состояние флажка было изменено в состоянии. Ниже мой флажок

<Control.checkbox model="agree" name="agree"
      className="form-check-input" 
      changeAction={this.changeAction} defaultChecked={this.props.fields.agree}
      updateOn="toggle"
      /> {' '}
<strong>May we contact you?</strong>

this.props.fields.agree дает текущий статус tken флажка из хранилища redux. Ниже приведен редуктор:

const InitialFeedback={
    firstname: 'Vipul',
    lastname: 'Tyagi',
    telnum: '12345',
    email: 'vipultyagi629@gmail.com',
    agree: true,
    contactType: 'Email',
    message: 'Hello'
};

export const formsData=(state=InitialFeedback,action)=>{
    switch(action.type){
        case 'CHANGE_FIELD':
                return {...state, [action.payload.name]: action.payload.value};
        default:
            return state
    }
}

Ниже приведен метод changeAction:

changeAction(model, value){
        console.log(typeof(value));
            this.props.dispatch({type:'CHANGE_FIELD',payload:{name: model, value: value}});
    }

Флажок действительно реагирует на галочку, но не показывает галочку. Какую ошибку я делаю?

Пожалуйста, помогите мне найти проблему !!

РЕДАКТИРОВАТЬ Я только что проверил, что независимо от начального состояния флажка, он всегда остается тем же. Я имею в виду, что если изначально в магазине я установил согласие на true, тогда флажок начинает показывать отметку, но при нажатии на флажок отметка не исчезает. То же самое и в случае, когда начальное состояние ложно.

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