经过三年的REact实践,我觉得使用简单的对象或基本值作为组件中的状态非常冗长。每次需要更新状态时,我都必须传播整个旧状态并添加一个部分状态,即更新。每个状态操作都必须在其他位置定义。
现在,我喜欢先为状态形状设计一个类,然后将所有操作放入其中。对于组件的更新,我只需为属性分配一个新值或在实例上调用方法,然后使用一个空对象调用setState。
const { createElement: c,useState } = React
class Model {
constructor() {
this.name = "Singhi John"
this.age = 18
}
}
const App = props => {
const [model] = useState(new Model())
const [tick,setTick] = useState(0)
return c("a",{
href: "javascript:void(0);",onClick: () => {
model.age += 1
setTick(tick + 1)
}
},"age + 1")
}
const con = document.createElement("div")
document.body.appendChild(con)
ReactDOM.render(c(App),con)
这要清楚得多。
您如何看待这个主意?