【发布时间】:2021-04-26 14:15:46
【问题描述】:
我有一些数据(对象)存在于它们自己的文件(Origin.js)中。
正在使用扩展运算符在另一个名为 OriginState 的对象中导出此数据:
Origin.js
//info
const info = {
title: '',
year: '',
};
//images
const images = {
logo: '',
heroImage: '',
};
//text
const text = {
header: '',
body: '',
};
export const OriginState = {
...info,
...images,
...text,
};
我正在将我的 OriginState 对象导入到另一个文件中,并将其用作我的应用程序的 state,如下所示:
OtherFile.js
import { OriginState } from './Origin.js';
const [state, setState] = useState({
...OriginState,
});
这是一个示例处理程序,我稍后使用此状态更新输入中的某些指定状态值:
const handleChange = (e) => {
const { name, value } = e.target;
setState((state) => ({
...state,
[name]: value,
}));
};
现在,我的问题是……这样存储state 不正确吗?
另外,我是否在处理函数中错误地使用了setState?
在大多数情况下,我见过这样声明和更新的状态,这显然更容易阅读:
const [count, setCount] = useState(0);
setCount(count + 1)
但我有很多 state,我认为拥有多个 setState 钩子不是一个好主意。
有没有更好的方法来做到这一点?我现在的感觉是不对的。
【问题讨论】:
标签: javascript reactjs state