在一次采访中,我被问到,"数据存储在 React .js 中的什么位置? 我试着说状态、道具和 React 不存储数据。 我不确定他在寻找什么答案。 回答这个问题的最佳方法是什么? 请注意,他主要是一名Java程序员。
没有他的心态,很难说...
- 硬件 - 存储在内存中
- 经典反应 - 道具和状态是完全合法的答案
- React-Redux - 它存储在"商店"中
我认为这是一个没有任何真实背景的情况下问受访者的糟糕问题。 不管他是不是Java程序员,听起来他并不完全明白他在说什么。 你可能躲过了一颗子弹,而不是为那家公司工作。
也许这个问题是检查存储数据以在组件中使用的不同方法以及我们何时可以使用它们。 选择是:状态、存储、这个和静态。
- 将 UI 状态和暂时性数据(如表单输入(保持在本地状态。
- Redux 存储非常适合保持应用程序状态而不是 UI 状态。将要跨组件共享的数据保留在存储中。
- 使用它 来存储不应触发重新渲染的内容。
- 静态 方法和属性很少使用,应仅用于特定类型的所有组件都需要的实用工具函数。
说 React 可以使用 sessionStorage、localStorage、state、store 和这个的组合来保存数据,但是存储数据将是你设置的任何数据库来使用它。
就 React 而言,无处可去,因为 react 不存储任何数据
Redux:将数据存储在 Redux 存储中,内部是存储在内存 (RAM( 中的 js 对象。根据您想要进入的详细程度,您可以选择。顺便说一句,荒谬的面试问题。
就是这样问的吗?这有点奇怪,因为 react 并没有像持久那样真正存储东西。一旦页面更改或组件为此卸除,这一切都会丢失。
如果是这样,我会说组件的状态是存储有关组件本身的数据的最佳位置,例如在受控组件的情况下从用户输入接收的任何内容。
我不认为它是道具,因为道具不应该存储数据,而是将其传递给另一个组件,但我想这有点挑剔,因为您可能会争辩说它存储来自另一个组件的数据。