Reactjs 什么';s MapStateTops和mapdispatchtoprops之间的区别
react redux中Reactjs 什么';s MapStateTops和mapdispatchtoprops之间的区别,reactjs,redux,react-redux,Reactjs,Redux,React Redux,react redux中connect函数的MapStateTrops和mapDispatchToProps参数之间有什么区别??谁能用一个非常简单的术语举例说明一下 MapStateTrops:它将redux状态连接到react组件的道具 mapDispatchToProps:它将redux操作与react道具连接起来 一个非常简单的例子:(我希望,你知道我的意思) //状态 常量mapStateToProps=状态=>{ 返回{lists:state.lists}; }; //道具 常量ma
connect
函数的MapStateTrops
和mapDispatchToProps
参数之间有什么区别??谁能用一个非常简单的术语举例说明一下
MapStateTrops:它将redux状态连接到react组件的道具
mapDispatchToProps:它将redux操作与react道具连接起来
一个非常简单的例子:(我希望,你知道我的意思)
//状态
常量mapStateToProps=状态=>{
返回{lists:state.lists};
};
//道具
常量mapDispatchToProps=({lists})=>(
{
lists.map(el=>(
-
{el.heading}
)
}
);
//现在,将状态连接到道具
const List=connect(mapStateToProps)(mapDispatchToProps);
mapStateToProps
是一个用于向组件提供存储数据的函数,而mapDispatchToProps
是一个用于向组件提供动作创建者作为道具的函数
根据文件:
如果指定了MapStateTops
参数,则新组件将
订阅Redux商店更新。这意味着商店在任何时候
更新后,将调用MapStateTops
MapStateTrops
必须是普通对象,它将合并到
组件的道具
使用mapDispatchToProps
将每个动作创建者包装到分派中
调用,以便可以直接调用,将合并到
组件的道具
一个简单的例子是
function mapStateToProps(state) {
return { todos: state.todos }
}
function mapDispatchToProps(dispatch) {
return { addTodo: bindActionCreators(addTodo, dispatch) }
}
export default connect(mapStateToProps, mapDispatchToProps)(Todos);
简单来说:
当您希望从组件获取全局状态的值时,将调用MapStateTrops
function mapStateToProps(state) {
return {
message: state.message
};
}
全局状态的值仅在操作的帮助下更改。因此,如果要更改全局状态的值,则需要操作。
mapDispatchToProps
用于绑定组件中的操作。我已将此答案添加到书签中:)Thx!如果我错了,请纠正我的错误,但我可以在不使用mapDispatchToProps的情况下调用我的操作,例如***导出默认连接(MapStateTrops,{getItems,deleteItem})(ShoppingList);********,这意味着它不是必需的,对吗?非常棒的解释,谢谢。如果我错了,请纠正我,但我可以调用我的操作,而不使用mapDispatchToProps,如***导出默认连接(MapStateTops,{getItems,deleteItem})(ShoppingList);********,这意味着这不是必须的,对吗?
function mapStateToProps(state) {
return {
message: state.message
};
}