当前位置:  开发笔记 > 编程语言 > 正文

当Redux状态更改为低于第一级时,React不会更新

如何解决《当Redux状态更改为低于第一级时,React不会更新》经验,为你挑选了0个好方法。

我在Redux中拥有自己的状态,并且正在使用react-redux连接器将其绑定到我的React应用程序中.在设置状态的初始运行期间,连接工作很好.但是,当我更新我的reducer中的一部分状态时,React没有读取它的更改,因此组件不会再次渲染.当我做一些强制渲染的其他动作时,状态实际上已经改变了.

它似乎有与没有被所述状态做识别已经改变为和,在反应-终极版的wrapWithConnect方法,所述storeChanged和propsChanged都评估为假通过初始运行之后.一个线索可能是反应 - 还原在这些检查中的浅层比较.

问题是" 当Redux中的状态发生变化时,我需要做些什么才能让React显示对状态的更改 "?

国家的相关部分如下

let thisOrder = Immutable.fromJS( {
"projectNumber": '',
"orderHeader": {
    "order_id": "",
    "firstname": "",
    "lastname": "",
    "address1": "",
),
"orderProducts": [],
"lastOperation": ''} );

更新的部分是orderProducts,这是一组基本上看起来像的产品

  orderProducts:[{productSKU:'Y54345',productDesc:'What it is',price:"4.60",qty:2},
{productSKU:'Y54345',productDesc:'What what is',price:"9.00",qty:1}]

当更新下面的reducer中的qty或price(由动作调用)时,结果newState 具有更改

 case OrderConstants.ORDER_PRODUCT_UPDATE:{

 let productList = updateProductList( action.updateProduct, state.get(
 'orderProducts' ))

 let newState = state.update( 'orderProducts',
 productList).set('lastOperation', action.type);

  return newState;}

最后,控制React组件然后向下游发送道具

    render: function () {
        return (
            
{this.submitContinueButton()} {this.submitButton()} {this.cancelButton()}
) } } ); // connect to Redux store var mapStateToProps = function ( state ) { return { ocoStore: state.toJS(), products: state.get('orderProducts')}; }; export default connect( mapStateToProps )( OrderProducts );

以上所有内容均已修改为相关部分.请注意,该代码用于在初始加载时显示较低组件的产品信息.在更新价格或数量时,不会发生刷新.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有