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

Я хотел бы отправить значение из поля ввода формы / с в хранилище Redux.Значение должно быть парой ключ-значение объекта в хранилище.Единственное место, где я застрял, это как нацелиться на этот объект.Точечная запись не работает.Извините, я новичок в Redux.Мой код:

 <input className="form-control mb-3" style={{ background: "white" }} 
  placeholder="Name" name="childsName" value={this.props.childName} 
  onChange={this.props.getChildName} type="text" />



  export const getChildName = (e) => dispatch => {
   dispatch({
     type: GET_CHILD_NAME,
    payload: e.target.value
   })
 }

case GET_CHILD_NAME:
  return {
    ...state,
    childInformation: action.payload
  };

const initialState = {
  childInformation: {
  checked: [],
  childName: "",
  childSurname: "",
  birthDate: ""
  }

};

Я хотел бы добавить значение в свойство childName объекта childInformation

Ответы [ 2 ]

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

Понял:)))

  export const getChildName = (e) => dispatch => {
  dispatch({
   type: GET_CHILD_NAME,
  payload: {childName:e.target.value}
 })
}

значение должно быть обернуто вокруг фигурных скобок.

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

Вы можете использовать синтаксис распространения, чтобы переопределить вложенное значение в состоянии и вернуть новый объект:

case GET_CHILD_NAME:
    return {
      ...state,
      childInformation: {
         ...state.childInformation,
         childName: action.payload
      }
    };

Также обратите внимание, что в вашем компоненте к этому значению, вероятно, следует обращаться следующим образом: value = {this.props.childInformation.childName} (Но этоконечно, зависит от того, как вы сопоставляете состояние притока с компонентами в mapStateToProps).

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