是否可以在 React Native 中使用 React Hooks?
Is it possible to use react hooks in react native?
在 React 文档中它说必须在组件内声明变量和侦听器挂钩,但是当我尝试这样做时 React native 会抱怨。
有什么方法可以在 React Native 中使用 Hooks 吗?
或者有人知道他们将来是否会实施吗?
有点,虽然 useEffect
不工作。目前的计划是通过 0.57.5 移动到 React 16.6,并允许人们选择使用带有选项 0.57.5-alpha 构建的钩子。如果你现在想使用钩子:
- 在 package.json
中将您的反应依赖项更改为 16.7.0-alpha
- 克隆react
cd react
yarn install
yarn build -- --type=RN_OSS
- 复制
build/react-native
到项目的 node_modules/react-native/Libraries/Renderer
目录。
您也可以使用this unofficial react-native
build with hooks already included. Just remember that useEffect
is not working at all with react-native, so you're better off probably waiting. You can read more about this discussion on this github issue。
编辑:钩子来了!!!它们存在于 React 中,并已被确认为 React Native 0.59 中的一项功能,您甚至可以使用 current release candidate
是的!
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
React 16.8.0
是第一个支持 Hooks 的版本。升级时,不要忘记更新所有包,包括 React DOM。自 React Native
的 0.59
版本起,React Native 就支持 Hooks。
无重大更改
在我们继续之前,请注意 Hooks 是:
• 完全选择加入。 您可以在一些组件中尝试 Hooks,而无需重写任何现有代码。但你不必学习或使用 Hooks
如果你不想,现在就开始。
• 100% 向后兼容。 挂钩不包含任何重大更改。
• 现已上市。钩子现在可以在 v16.8.0 版本中使用。
仅从 React 函数调用挂钩
不要从常规 JavaScript 函数中调用 Hooks。
相反,您可以:
从 React 函数组件调用 Hooks
从自定义 Hooks 调用 Hooks
下面提到了一些基本的 Hooks
使用状态
使用效果
使用上下文
一些额外的钩子
使用Reducer
使用回调
使用备忘录
使用引用
使用命令句柄
使用布局效果
使用调试值
更多信息请阅读以下文档
在 React 文档中它说必须在组件内声明变量和侦听器挂钩,但是当我尝试这样做时 React native 会抱怨。
有什么方法可以在 React Native 中使用 Hooks 吗? 或者有人知道他们将来是否会实施吗?
有点,虽然 useEffect
不工作。目前的计划是通过 0.57.5 移动到 React 16.6,并允许人们选择使用带有选项 0.57.5-alpha 构建的钩子。如果你现在想使用钩子:
- 在 package.json 中将您的反应依赖项更改为
- 克隆react
cd react
yarn install
yarn build -- --type=RN_OSS
- 复制
build/react-native
到项目的node_modules/react-native/Libraries/Renderer
目录。
16.7.0-alpha
您也可以使用this unofficial react-native
build with hooks already included. Just remember that useEffect
is not working at all with react-native, so you're better off probably waiting. You can read more about this discussion on this github issue。
编辑:钩子来了!!!它们存在于 React 中,并已被确认为 React Native 0.59 中的一项功能,您甚至可以使用 current release candidate
是的!
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
React 16.8.0
是第一个支持 Hooks 的版本。升级时,不要忘记更新所有包,包括 React DOM。自 React Native
的 0.59
版本起,React Native 就支持 Hooks。
无重大更改
在我们继续之前,请注意 Hooks 是:
• 完全选择加入。 您可以在一些组件中尝试 Hooks,而无需重写任何现有代码。但你不必学习或使用 Hooks 如果你不想,现在就开始。
• 100% 向后兼容。 挂钩不包含任何重大更改。
• 现已上市。钩子现在可以在 v16.8.0 版本中使用。
仅从 React 函数调用挂钩
不要从常规 JavaScript 函数中调用 Hooks。 相反,您可以:
从 React 函数组件调用 Hooks
从自定义 Hooks 调用 Hooks
下面提到了一些基本的 Hooks
使用状态
使用效果
使用上下文
一些额外的钩子
使用Reducer
使用回调
使用备忘录
使用引用
使用命令句柄
使用布局效果
使用调试值
更多信息请阅读以下文档