Javascript 将回调指定为另一个回调';什么是反应中的依赖?
这是我的钩子Javascript 将回调指定为另一个回调';什么是反应中的依赖?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,这是我的钩子 export function useContractFactory() { const { provider }: any = useWallet(); return useCallback( (address: string, abi: any) => { return new EthersContract(address, abi, provider); }, [provider], ); } export func
export function useContractFactory() {
const { provider }: any = useWallet();
return useCallback(
(address: string, abi: any) => {
return new EthersContract(address, abi, provider);
},
[provider],
);
}
export function useTokenActions() {
const createContract = useContractFactory();
const isERC20 = useCallback(async (address: string) => {
const contract = createContract(address, erc20TokenABI);
return isTokenERC20(contract);
}, []);
return {
isERC20
}
}
createContract
是一个回调
,如您所见。现在,TypeScript和ESLint编译时会出现警告
React Hook useCallback缺少依赖项:“createContract”。
包括它或删除依赖项数组
我是否应该指定
createContract
作为isERC20
回调的依赖项?或者根本不需要回调
?你觉得怎么样?我认为你应该将createContract
添加到dep数组中。
基于此,
useCallback将返回回调的一个备忘录版本,只有在其中一个依赖项发生更改时才会更改
<> P>不管它不会改变,但回调本身都会考虑它< /P>,因为你想让代码> ISEC20//C>在钱包提供者改变时做不同的事情,是的,这是不是意味着<代码> ISEC2020/代码>合同被创建了2次?因为它渲染了2次,但第2次才是真正正确的函数。对的