gpt4 book ai didi

javascript - "single source of truth"是什么意思?

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:51 26 4
gpt4 key购买 nike

我已阅读 this article .在“Controlled Components”部分,有一句话:

We can combine the two by making the React state be the “single source of truth”.

“单一事实来源”是什么意思?

最佳答案

特别是在您链接的文章中,它讨论了“受控”和“不受控”组件。

基本上,当您想要实现“单一事实来源”时,您希望让您的组件可控。

默认情况下,输入字段是不可控的,这意味着它将从 DOM 渲染数据,而不是状态。

但是,如果您改为让输入监听状态(因此使其可控),除非您更改状态,否则它将无法更改其值。

您会注意到的第一个效果是,一旦您向其中添加了 value 属性,当您输入时,什么都不会改变。如果你添加改变状态的 onChange 方法,它将是完全可控的组件,只监听一个真实来源;状态,而不是 DOM 事件。

--

这也与单向数据绑定(bind)有关。这意味着只有一个地方代表应用程序的状态,您的 UI 会监听它。而且只有这个地方的数据改变了,监听的UI才会改变,其他的都不会。

http://i.imgur.com/hJmGMqu.jpg

--

enter image description here

这也可能有用:https://redux.js.org/docs/basics/DataFlow.html

在 React-Redux 应用程序中,当您的 Redux 是单一真实来源时,这意味着在 UI 中更改数据的唯一方法是分派(dispatch) redux 操作,这将在 redux reducer 中更改状态。你的 React 组件会监视这个 reducer,如果那个 reducer 发生变化,那么 UI 也会改变自己。但别无他法,因为 Redux 状态是唯一的事实来源。

这是它在 Redux 世界中的样子:

enter image description here

一个实际的例子是你有 Redux 商店,其中包含你想要显示的项目。为了更改要显示的项目列表,您不要在商店以外的任何其他地方更改此数据。如果这一点发生变化,与之相关的所有其他内容也应该发生变化。

关于javascript - "single source of truth"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47182888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com