Reactjs 在mapStateProps中调用操作

Reactjs 在mapStateProps中调用操作,reactjs,redux,react-redux,Reactjs,Redux,React Redux,如果状态还不存在,我可以在mapStateProps中调用一个操作吗?我想知道它是否会影响性能,以及无意的重新渲染 或者在创建选择时,我可以使用调用操作来执行此操作 或者你对如何做有什么建议吗?谢谢 函数mapStateToProps(状态,ownProps){ 返回{ reviewContentDetails:state.ReviewReducer.reviewContentDetails | | | callAnAction(ownProps._id), }; } 功能图DispatchT

如果状态还不存在,我可以在mapStateProps中调用一个操作吗?我想知道它是否会影响性能,以及无意的重新渲染

或者在创建选择时,我可以使用调用操作来执行此操作

或者你对如何做有什么建议吗?谢谢

函数mapStateToProps(状态,ownProps){
返回{
reviewContentDetails:state.ReviewReducer.reviewContentDetails | | | callAnAction(ownProps._id),
};
}
功能图DispatchToprops(调度){
返回{
操作:bindActionCreators(ReviewAction、dispatch),
};

}
有关必须在mapDispatchToProps中执行的操作

这是测试组件

最后,您可以连接Redux


PS:对于mapStateToProps,我认为您应该使用选择器。它更容易修复的功能。希望它对您有帮助^^

是的,您可以,但它可能会导致比您打算解决的问题多得多的问题。状态在减缩器中最容易和清楚地初始化,这就是所使用的模式


如果您需要执行一次某些操作(如调度异步获取或类似操作),最好在componentDidMount中执行。

绝对不能。
mapstatetops
函数只应从状态树中提取值,并将其作为新对象返回。它不应该做任何异步工作,或者启动任何其他行为


如果需要基于值的更改调用函数,请在React组件的
componentWillReceiveProps
中执行该操作。

我真的不明白您想做什么。当我的状态不存在时,它将采用初始状态(在我的代码中提供)并使用此状态。当然,您可以调用操作(使用dispatch)。你能举个例子吗?我添加了一个示例代码@Larce
const Test = ({onclickTest}) =>{
     return <div>  
        <button onClick ={onclickTest}>Test Button</button> 
            </div>
const mapDispatchToProps= {onclickTest : yourOnclickTestAction}
export default connect (
    null,
    mapDispatchToProps)(Test)