由于一些原因,我希望把逻辑和视图分开,如下列伪代码所示,大佬能说说有什么好的解决方案吗?关键字就行,谢谢了!
(ps: react class component 也是视图和逻辑混在一个类里面, 不太希望这样, 还是我的使用姿势不对?)
import React, { useEffect } from "react"
class Person {
name: string
age: number
friends: Person[]
}
class Family {
datas: Person[]
}
class Village {
datas: Family[]
}
// 以上的类为纯逻辑类, 仅进行数据处理, 不含视图渲染
function View() {
const village = new Village()
useEffect(() => {
// Village 泛指一些层级很深的类
// 这儿有一些交互, 然后会修改 village 的一些属性, 和属性的后代属性
// 问题是, 修改了 village 之后, 怎么通知组件更新呢...
}, [village])
return village.datas.map((family) => family.datas.map((person) => render(person)))
}