Вы в значительной степени здесь, но есть только одна проблема. Позвольте мне кратко рассказать о том, как работает Redux.
На языке редуксов ваша функция addNew называется Action. Вам не нужно передавать состояние, т. Е. Все ваши заметки в редуктор. Редуктор автоматически получит его. Ниже описан способ отправки действия.
Вот как работает редукс.
- Вы отправляете действие (событие обновления) в состояние из компонента, в котором вы работаете.
См. Строку 9 здесь
Вы можете передать все, что хотите, для этого конкретного действия. Предположим, вы передаете примечание к действию addNew. Код будет
const sendNote = note => {
store.dispatch(addNew(note);
};
Теперь, когда вы отправили действие. Ваше действие поймает это конкретное действие и направит его редукторам.
Теперь действие всегда должно иметь форму
{
тип: 'ADD_NOTE',
полезная нагрузка: примечание
}
Обратите внимание на тип и полезную нагрузку. Теперь это действие для добавления заметки. Теперь это действие будет отправлено всем редукторам. Для справки здесь Строка 15.
Наконец, редуктор ловит ваше действие и автоматически получает состояние. Помните, вам нужно только передать initialState в качестве значения по умолчанию. Это всегда получает полное состояние.
Теперь ваш редуктор изменится, как показано ниже:
function reducer(state = initialState, action) {
switch (action.type) {
case 'ADD_NOTES':
return state.notes.push(action.payload);
}
}
Это обновит ваше состояние, для которого фигура имеет вид:
Государство
{примечания: []}
Я настоятельно рекомендую вам прочитать эту длинную и углубленную статью , в которой Ohans поможет вам разработать приложение для реального мира с использованием Redux.