【问题标题】:React store problem using easy peasy, unexpcted rendering mess up the model in store使用简单的 peasy 反应商店问题,意外的渲染会弄乱商店中的模型
【发布时间】:2021-05-03 14:51:48
【问题描述】:

当我调用一个动作时,第一次加载数据非常好。 组件再次重​​新渲染并弄乱了状态。

默认状态

menu_detail: {
    error: null,
    menu_id: 0,
    detail: {}
  }

工作状态

menu_detail: {
    error: null,
    menu_id: 2,
    detail: {
      menu: {
        ...
    }
  }

意外渲染后

menu_detail: { }

我的代码

    const setMenuDetail = useStoreActions(actions => actions);
    const getMenuDetail = useStoreActions(actions => actions.menu_detail.getMenuDetail);
    const setMenuId = useStoreActions(actions => actions.menu_detail.setMenuId);
    const menu_id = useStoreState(state => state.menu_detail.menu_id);
    const menu = useStoreState(state => state.menu_detail.detail.menu);
    // const menu_option_categories = useStoreState(state => state.menu_detail.menu_detail.menu_option_categories);
    const { data } = props.location;
    React.useEffect(() => {
        setMenuId(parseInt(data));
        getMenuDetail();
    }, [menu]);
    ...

【问题讨论】:

    标签: javascript reactjs redux use-effect easy-peasy


    【解决方案1】:

    我将 React.useEffect() 更新为:

    React.useEffect(() => {
            setMenuId(parseInt(data));
            getMenuDetail(2);
        }, []);
    

    现在可以了。

    【讨论】:

      猜你喜欢
      • 2011-08-09
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多