Redux: отправка данных действий в магазин - PullRequest
0 голосов
/ 18 ноября 2018

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

Вот как я это сделал.

const notesReducer = (state = 'Initial State', action) => {
 switch(action.type) {
   case "ADD_NOTE":
    return({
     text: action.text
    })
  default:
    return state;
 }
};

const addNoteText = (note) => {
  return ({
   type: "ADD_NOTE",
   text: note
   })
 };
 const store = Redux.createStore(notesReducer);
 console.log(store.getState());
 store.dispatch(addNoteText('Hello!'));
 console.log(store.getState());

Создатель действия addNoteText () принимает аргумент для передачи в свойство text. пожалуйста помогите

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Вот мое решение этой проблемы, единственное, что вы действительно должны изменить от того, что у вас есть, это то, что вы возвращаете в операторе switch:

 const ADD_NOTE = 'ADD_NOTE';

const notesReducer = (state = 'Initial State', action) => {
  switch(action.type) {
    case ADD_NOTE:

    return action.text

    default:
      return state;
  }
};

const addNoteText = (note) => {

    return {
    type: ADD_NOTE,
    text: note
}

};

const store = Redux.createStore(notesReducer);

console.log(store.getState());
store.dispatch(addNoteText('Hello!'));
console.log(store.getState());
0 голосов
/ 18 ноября 2018
const notesReducer = (state = {
  text: ''
}, action) => {
  switch(action.type) {
    case "ADD_NOTE": {
      return Object.assign({}, state, { text: action.text })
    }
    default:
      return state;
  }
 };

 const addNoteText = (note) => {
  return(
    {
      type: "ADD_NOTE",
      text: note
    }
  )
  };

  const store = Redux.createStore(notesReducer);
  console.log(store.getState());
  store.dispatch(addNoteText('Hello!'));
  console.log(store.getState());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...