【发布时间】:2020-09-20 16:39:58
【问题描述】:
我最近开始在我的 React 应用程序中构建自定义钩子,并且一直在关注 React 网站上的文档。但是,我正在构建的钩子不需要返回值,因为它们在初始化时为 Redux 设置数据。
例子:
// custom hook
export const useSetup() {
useEffect(() => {
if (data) fetch().then(data => dispatch(setInit(data)))
}, [dispatch])
}
// functional component
export function Details() {
useSetup()
我找不到明确说明挂钩需要返回任何内容的文档。但是,我找不到钩子不返回某些内容的示例。有人可以建议这种方法是否正确吗?
【问题讨论】:
-
你想用 react hooks 实现 redux 吗?
-
是否有可能因为
if (data)而导致钩子无法获取? -
如果一个钩子需要返回任何东西,它通常会被记录。
useEffect是一个很好的钩子示例,它可能不会返回任何内容(如果它返回,它就是一个效果清理函数)。 Hooks 可以返回任何必要/需要/等等...毕竟它们只是函数(有一些使用规则)。 -
应该使用 useReducer 来实现类似状态管理系统的 redux
-
@DrewReese 对!好的,谢谢你帮我解决这个问题。现在这很有意义。
标签: javascript reactjs redux react-hooks