reactjs - Hooks 中的 this[field] 替代方案

标签 reactjs react-hooks

有一种非常方便的方法可以通过为其创建字段来在 React 类中存储一些与渲染无关的数据。

例如,如果我制作多个表单,每个表单仅出现在某个步骤,并且希望在每个步骤后保存其数据,则在 Class I 中将这样做:

/*in class*/

data = [];

saveData = (field) => {
  this.data.push(field);
};

但是,如果没有“this”,并且在每个渲染上重新创建所有作用域变量,我如何在功能组件中执行相同的操作?

最佳答案

对于与渲染无关的数据,recommended way is to use a refuseRef Hook 公开一个其 current 属性是可变的对象,您可以将任何想要在重新渲染时保留的值附加到它。

const data = useRef([]);  // <-- initial value

saveData = (field) => {
  this.data.current.push(field);
};

关于reactjs - Hooks 中的 this[field] 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56794756/

相关文章:

node.js - create-react-app + nodejs (express) 服务器

javascript - true 和 falsey 值作为 useState 的初始值未正确反射(reflect)

reactjs - React useCallback 钩子(Hook)用于 map 渲染

reactjs - 如何仅更新 1 个字段而不覆盖 React Hooks 上的嵌套对象上的其他字段使用 Reducer?

javascript - 如何在 React 中创建键值对并将其推送到状态?

javascript - React 使用新项目更新列表但 ID 可能会重复

node.js - 如何使用 Passport 验证 React 应用程序?

javascript - 如何在 React 中使用循环旋转木马实现平滑过渡

reactjs - React.useState(<initialState>) 如何随着 <initialState> 更新而更新?

reactjs - 关于更新 useState 的奇怪问题