gpt4 book ai didi

javascript - 将钩子(Hook)作为 Prop 传递

转载 作者:行者123 更新时间:2023-12-04 11:23:05 24 4
gpt4 key购买 nike

将 React Hook 作为 Prop 传递给另一个组件是否可以接受/常见?
还是它们只属于声明它的组件?
以下只是一个例子来说明我通过传递它的意思
从父组件到子父级的 Prop 。

import React, { useState } from 'react';

export const Parent = () => {

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

return <div>
Current count is {count}
<Child setCount={setCount} /> // passing a hook set call as a prop to child
</div>
}

const Child = ({setCount}) => {
setCount(10) // using the hook set call
return (
<div>
Some Child Text
</div>
);
};

export default Child;

最佳答案

setCount不是钩子(Hook),它只是另一个函数,所以你可以将它作为 Prop 传递。你也可以想到useMemo的输出或 useCallback , 这些可以作为 Prop 传递。useState是一个钩子(Hook),useCallback是一个钩子(Hook),或者甚至是任何封装了其他钩子(Hook)的函数,这些不应该作为 Prop 传递。
为什么?
要回答这个问题,首先想想为什么要将钩子(Hook)作为 Prop 传递?将钩子(Hook)作为 Prop 传递的好处是您可以有条件地传递另一个钩子(Hook)/跳过调用。
但是在钩子(Hook)的情况下,不应该有条件地调用它。所以没有意义。将它作为 Prop 传递,只需导入并使用它。

关于javascript - 将钩子(Hook)作为 Prop 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66800263/

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