私はReduxチュートリアルを実行し、いくつかの例を自分で実行して練習しました。未定義の 'map'のプロパティを読み取ることができません
私はエラーにCannot read property 'map' of undefined
コードを取得しています:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux'
import { connect } from 'react-redux'
import { createStore } from 'redux'
const todo = (state, action) => {
console.log('todo ran')
switch (action.type) {
case 'ADD_TODO':
return {
id: action.id,
text: action.text
}
default:
return state
}
}
const todos = (state = [], action) => {
console.log('todos ran')
switch (action.type) {
case 'ADD_TODO':
return [
...state,
todo(undefined, action)
];
}
}
//Just updated this to include an empty list
let store = createStore(todos, [])
let nextTodoId = 0
const AddTodo =() => {
let input;
return (
<div>
<input ref={node => {input = node}}/>
<button onClick = {() => {
store.dispatch({
type: 'ADD_TODO',
id: nextTodoId++,
text: input.value
});
input.value = ''
}}>
Add Todo
</button>
<ul>
{store.getState().map(item =>
<li key={item.id}> {item.text} </li>
)}
</ul>
<button onClick = {() => console.log(store.getState())}>Print State</button>
</div>
)
};
ReactDOM.render(
<AddTodo />,
document.getElementById('root'));
は私が空の状態[]
に渡すと、私はそれの上にマップすることにしています思いました。しかし、state
は未定義のようです。
私は間違っていますか?
hmmm ...それを試しても同じ問題がありました。コードの更新。 –
あなたはたぶんこれをフィドルに入れて、言葉を取引するだけではないのですか? –