gpt4 book ai didi

react-native - connect() 中的 mapStateToProps() 必须返回一个普通对象,而不是收到 Undefined

转载 作者:行者123 更新时间:2023-12-04 22:09:41 25 4
gpt4 key购买 nike

我已经实现了 redux 来完成一个 TODO 应用程序。

我的待办事项代码

 import { connect } from "react-redux";

import TodoList from "../components/TodoList.js";

// Here we will connect

const mapStateToProps = state => {
todos: state.todos
}

const mapDispatchToProps = dispatch => {
toggleTodo: id => dispatch({ type: 'TOGGLE_TODOS', id })


}


export default connect(mapStateToProps, mapDispatchToProps)(TodoList);

// reducer
 const todos = (state = [], action) => {
switch (action.type) {
case 'ADD_TODO':
return [
...state, {
id: action.id,
text: action.text,
visibility: false
}
]
case 'TOGGLE-TODO':
return state.map(todo => (todo.id === action.id)
?
{ ...todo, completed: !todo.completed }
: todo)
default:
return state;
}

}

export default todos;

我最后收到一个错误
'mapStateToProps 必须接收一个普通对象,而不是接收到 Undefined'。

请让我知道如何解决这个问题。

最佳答案

您需要返回对象,您可以这样做,请参阅对象周围的括号。

const mapStateToProps = state => ({
todos: state.todos
})

你也可以这样做
const mapStateToProps = state => { 
return { todos: state.todos };
};

两者都返回一个对象。

关于react-native - connect() 中的 mapStateToProps() 必须返回一个普通对象,而不是收到 Undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52590903/

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