Javascript 我可以将有状态jsx存储到redux存储吗?

Javascript 我可以将有状态jsx存储到redux存储吗?,javascript,reactjs,react-redux,react-router,Javascript,Reactjs,React Redux,React Router,我遇到了这样的情况,我有一些局部计算状态,我有一个使用该状态的组件。我想在另一条路径中使用与计算状态完全相同的组件。在另一个路由中使用相同的计算代码没有意义,因此我将带有本地状态的组件传递给该路由 事情是这样的: let myJsx = (customState) => <Component customState={customState} /> navigateToRoute(someData, myJsx){ this.props.actions.updateRed

我遇到了这样的情况,我有一些局部计算状态,我有一个使用该状态的组件。我想在另一条路径中使用与计算状态完全相同的组件。在另一个路由中使用相同的计算代码没有意义,因此我将带有本地状态的组件传递给该路由

事情是这样的:

let myJsx = (customState) => <Component customState={customState} />

navigateToRoute(someData, myJsx){
  this.props.actions.updateReduxStore(myJsx);
  // ..do something with someData.
  // ..browswerHistory('navigatetoPage');
}

render() {
  return (
    // ..
    <a onClick = {() => {
        let myJsx = myJsx(params);
        this.navigateToRoute(someData, myJsx)
      }
    }
    />
    // .. 
  );
}
让myJsx=(customState)=>
navigateToRoute(someData,myJsx){
this.props.actions.updateReduxStore(myJsx);
//…用一些数据做点什么。
//..browswerHistory(“导航页面”);
}
render(){
返回(
// ..
{
设myJsx=myJsx(params);
this.navigateToRoute(someData,myJsx)
}
}
/>
// .. 
);
}

因此,我有意将我的jsx传递到redux商店,这是很少见的,但也是可能的,但这样做有一定的风险。这是一种很好的做法吗?

如果您只想在另一个路由中使用相同的计算出的本地状态,那么我建议只将该状态传递给redux存储,而不要完全传递JSX。现在,您可以在任何组件中访问该状态(只要它连接到redux存储),我真的没有理由需要将JSX传递到redux存储,您是否考虑了特定的用例?这里有一个关于同一问题的线程-。简言之,答案是否定的,您不应该将您的JSX存储在存储中,但是对于如何实现这一点,有一些建议。