基本上是这样的:
function MyComponent() {
let [count, setCount] = useState(1)
let memo = useMyMemo(() => new MyClass)
return <div onClick={update}>{count}</div>
function update() {
setCount(count + 1)
}
}
function useMyMemo(fn) {
// what to do here?
}
class MyClass {
}
我想为每个组件实例useMyMemo
只返回类的 1个实例。我如何设置它以实现它而不诉诸使用任何现有的 React 钩子?如果没有 React 钩子就不可能,他们为什么不呢?如果只能通过访问内部 API 来实现,您会怎么做?
作为奖励,了解如何传递属性依赖项以及如何使用它来确定备忘录是否应该失效将很有帮助。