Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在mapDispatchToProps中访问MapStateTrops添加的属性?_Javascript_Reactjs_Redux_React Redux_Jsx - Fatal编程技术网

Javascript 如何在mapDispatchToProps中访问MapStateTrops添加的属性?

Javascript 如何在mapDispatchToProps中访问MapStateTrops添加的属性?,javascript,reactjs,redux,react-redux,jsx,Javascript,Reactjs,Redux,React Redux,Jsx,React-Redux提供函数connect将Reduxstate和dispatch绑定到React组件(作为属性) 如何访问在函数mapDispatchToProps中通过函数MapStateTrops添加的属性? 例如,我使用函数MapStateTops向组件添加属性propertyFromState,如何在函数mapDispatchToProps中访问属性propertyFromState 我尝试使用参数ownProps访问它,但它是未定义的您无法访问mapDispatchToProps中

React-Redux提供函数
connect
将Redux
state
dispatch
绑定到React组件(作为属性)

如何访问在函数
mapDispatchToProps
中通过函数
MapStateTrops
添加的属性?

例如,我使用函数
MapStateTops
向组件添加属性
propertyFromState
,如何在函数
mapDispatchToProps
中访问属性
propertyFromState


我尝试使用参数
ownProps
访问它,但它是
未定义的

您无法访问mapDispatchToProps中的道具。相反,您可以在调用函数时将参数传递给该函数。例如,如果要将道具传递给动作,可以采用多种方式

第一:

function mapDispatchToProps(dispatch) {
  return {
    onNameChanged: (name) => dispatch({ type: 'NAME_CHANGED', payload: name })
  }
}

从组件中只需调用这个.props.actions(propertyFromState)。在actions.js中创建操作以接受如下参数

function action1(property){
  return { type: 'NAME_CHANGED', payload: property }
}
有用链接:

mapStateToProps()用于从Redux/应用程序状态访问变量

function mapStateToProps(state) {
return {
    token: reduxState.token
};
}
可以使用this.props.token在React组件内部访问它

和mapDispatchToProps触发操作事件(调度可能导致应用程序状态更改的操作)


在mapDispatchToProps中无法访问该状态是荒谬的。
有一种替代redux的方法,简单且解决了redux的麻烦。

也许这不是一种正确的方法。Chrome的控制台抛出大量错误:
警告:无法在现有状态转换期间更新(例如在'render'或其他组件的构造函数中)。渲染方法应该是道具和状态的纯函数;构造函数的副作用是一种反模式,但可以移动到“componentWillMount”。
看起来您正在render方法中进行操作调用。你能把你的代码片段粘贴在这里以获得更好的解决方案吗?
function action1(property){
  return { type: 'NAME_CHANGED', payload: property }
}
function mapStateToProps(state) {
return {
    token: reduxState.token
};
}
const mapDispatchToProps = (dispatch) =>  {
return{
    send:(variable) =>{dispatch(send(variable))}
}
}