javascript - 简化 useState 的多个实例

标签 javascript reactjs ecmascript-6 react-hooks

在我的 ReactJS 代码中,我需要像这样将多个变量存储为单独的状态。有没有更简单的方法来创建它们?因为现在我反复使用 useState 函数。

  const [dutyCode, setDutyCode] = useState("");
  const [startTime, handleStartTime] = useState(new Date());
  const [endTime, handleEndTime] = useState(new Date());
  const [activityType, setActivityType] = useState("");
  const [dutyType, setDutyType] = useState("");

最佳答案

您可以只使用一个状态对象并对其进行解构:

const [state, setState] = useState({
    dutyCode: "",
    startTime: new Date(),
    endTime: new Date(),
    activityType: "",
    dutyType: "",
});

const {
    dutyCode,
    startTime,
    endTime,
    activityType,
    dutyType,
} = state;

const updateState = (update) => setState({ ...state, ...update });

关于javascript - 简化 useState 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60975477/

相关文章:

javascript - Javascript 中不带前导零的打印时间

reactjs - 如何使用 redux-form 选择器使syncErrors脱离状态

javascript - 在滚动事件上监听的函数中未更新 React Hook

ios - React Native(IOS),如何创建滚动的 View ?

javascript - 在 React 中如何按值传递而不是按引用传递?

javascript - 箭头函数 '() => {}' 在 Javascript 中是什么意思?

javascript - 暂时死区(ES6)似乎不起作用

使用闭包的 Javascript Fibonacci

javascript - 是否可以将 microsoft-graph 客户端 secret 放入源代码中?

javascript - 切换 Bootstrap 雪佛龙