gpt4 book ai didi

javascript - 无法读取未定义的 'map' 的属性

转载 作者:行者123 更新时间:2023-12-01 03:27:30 25 4
gpt4 key购买 nike

我完成了 Redux 教程并练习自己实现一些示例(以确保我理解它们是如何工作的)。

我收到错误无法读取未定义的属性“map”

代码:

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 未定义。

我做错了什么?

最佳答案

您错过了将初始状态传递给 createStore 调用。

尝试以下操作:

let store = createStore(todos, [])

关于javascript - 无法读取未定义的 'map' 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com