Reactjs 什么';s MapStateTops和mapdispatchtoprops之间的区别

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

react redux中
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

  };
}