reactjs - 反冲 - 单原子与多个原子

标签 reactjs

我有一个索引文件,其中包含我创建的向导的大量原子。

我想过移动所有的创作 -

export const foo1State = atom<string>({
    key: "foo1State",
    default: "",
});
export const foo2State = atom<boolean>({
    key: "foo2State",
    default: false,
});

使用 JSON 合二为一 -

    export const fooStates = atom<fooState>({
        key: "fooStates",
        default: {
                     foo1State: string = "",
                     foo2State: boolean = false,
                  }
     });

这是更好的方法吗? 我会提到所有输入都经常变化,因此需要考虑渲染。

你觉得怎么样?

谢谢

最佳答案

如果每个状态都有单独的原子,那么您可以独立订阅每个状态。如果将它们全部合并为一个,则每次更新 foo2State 时,渲染 foo1State 的组件都会重新渲染,反之亦然。如果原子变得非常大,这可能会出现问题。

如果您没有任何特殊原因需要将 foo1Statefoo2State 保存在单个原子中,请采用第一种方法,并将它们分开保存原子。

关于reactjs - 反冲 - 单原子与多个原子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73735104/

相关文章:

javascript - 如何在 React useState 中存储和更新多个值?

reactjs - Express cors 不允许凭据

javascript - ReactJS:需要使用 onClick 函数更改卡片样式

javascript - 等待一个 React CSS 动画结束后再开始另一个

javascript - react native + 终极版 : How to render <ListView/> upon clicking a button?

javascript - 自定义 useFetch Hook 中的无限循环

javascript - 在 React 中模拟 DOM onchange 行为

reactjs - 如何在 React 中的 onblur 事件之后检查组件是否已被单击

javascript - 替换状态中的数组元素(整数)

javascript - 使用 Create-React-App 时,Webpack 需要抛出“目标容器不是 DOM 元素?”