gpt4 book ai didi

solid-js - Solid JS 是否有 React.useCallback 的等价物?

转载 作者:行者123 更新时间:2023-12-02 01:44:26 25 4
gpt4 key购买 nike

Solid 有 createMemo我认为这可能有效,但它说“备忘录功能不应通过调用 setter 来更改其他信号(它应该是“纯的”)。”,这不适合我的用例。

最佳答案

Solid 没有 useCallback,因为组件只挂载一次并且不会重新渲染,React 有 useCallback,这样开发人员就有了另一种方法来防止重新渲染。

createMemo的目的是缓存派生信号,例如retrieving a signal that runs an expensive fibonacci value .

const [count, setCount] = createSignal(0);

const fib = createMemo(() => fibonacci(count()));

如您所述,createMemo 不应调用其他信号 setter ,这是为了让 Solid 可以优化,例如所有备忘录最多可以更新一次以响应依赖项更改。

const [count, setCount] = createSignal(0);
const [lastName, setLastName] = createSignal('');

const fib = createMemo(() => {
setLastName(value) // DONT DO THIS, memo function should not call other signal setters, should be pure
return fibonacci(count());
});

如果您的用例需要检索值和调用 setter ,这就是 useEffect 的用途。

关于solid-js - Solid JS 是否有 React.useCallback 的等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71104273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com