Я создал страничку, на которой есть поле ввода textarea.
function Page1() {
function handleChange(e) {
store.dispatch({ type: 'CHANGE_VALUE', appText: e.target.value });
}
return (
<div>
<textarea
value={store.getState().appReducer.newAppText}
onChange={handleChange}>
</textarea>
<button>send</button>
<div id="output"></div>
</div>
);
}
Установил redux, создал store и единственный редюсер appReducer.
let reducers = combineReducers({
appReducer
});
const store = createStore(reducers);
export default store;
store.subscribe(v => {
console.log(store.getState())
});
// store.dispatch({ type: 'CHANGE_VALUE', appText: 222 });
window.state = store.getState()
Как видите, всё довольно стандартно и просто. Но этот простой код не работает, это выражается в том, что после того как я ввожу символы в textarea, эти символы не попадают в стор.
Проверяю я это следующим образом:
1. открываю консоль браузера
2. ввожу state
3. нажимаю enter
В результате вижу, что стейт пуст.
Но если я в приведённом выше коде снимаю комментарий со строки
// store.dispatch({ type: 'CHANGE_VALUE', appText: 222 });
, то стор заполняется. Помогите пожалуйста понять как заполнять стор после того как я заполняю textarea
LIVE DEMO