在react文档中,它说必须在组件内声明变量和侦听器钩子,但是当我尝试这样做时,React native会抱怨。
有什么方法可以在React Native中使用Hooks吗? 还是有人知道他们将来是否会实施?
答案 0 :(得分:3)
排序,尽管FileTarget
不起作用。当前的计划是以0.57.5的速度响应16.6,并允许人们选择使用带有0.57.5-alpha版本的钩子。如果要立即使用钩子:
useEffect
16.7.0-alpha
cd react
yarn install
yarn build -- --type=RN_OSS
复制到项目的build/react-native
目录中。您也可以将this unofficial react-native
build与已经包含的钩子一起使用。请记住,node_modules/react-native/Libraries/Renderer
不能与react-native一起使用,因此最好等待。您可以在this github issue上阅读有关此讨论的更多信息。
编辑:挂钩来了!!!它们在React中是实时的,并且已经在React Native 0.59中被确认为功能提供,您甚至可以使用current release candidate
答案 1 :(得分:1)
是的!
React Hooks是0.59
版本的一部分。
0.59
发行说明中的报价:
React Hooks are part of this [0.59] release, which let you reuse stateful logic across components
以下是有关Hooks的快速概述,以帮助您入门:: https://reactjs.org/docs/hooks-overview.html
答案 2 :(得分:0)
React 16.8.0
是第一个支持Hooks的版本。升级时,请不要忘记更新所有软件包,包括React DOM。自0.59
的{{1}}版本以来,React Native支持Hooks。
没有重大变化
在继续之前,请注意,挂钩是:
•完全选择加入。。您可以尝试在一些组件中使用Hook,而无需重写任何现有代码。但是您不必学习或使用挂钩 现在,如果您不想这么做。
• 100%向后兼容。。挂钩不包含任何重大更改。
•现在可用。现在,v16.8.0发行版中都提供了挂钩。
仅来自React函数的呼叫挂钩
不要通过常规JavaScript函数调用Hook。 相反,您可以:
从React函数组件调用挂钩
从自定义挂钩中呼叫挂钩
下面提到了一些基本的挂钩
useState
useEffect
useContext
一些其他挂钩
useReducer
useCallback
useMemo
useRef
useImperativeHandle
useLayoutEffect
useDebugValue
有关更多信息,请阅读以下文档