React Native Navigation that supports seamless navigation between Native and React.
useVisible
不再需要参数
添加 useNavigator
const navigator = useNavigator()
添加 useGarden
重新设计 useVisibleEffect
,现在它接受一个 useCallback 作为参数,是不是很酷?
useVisibleEffect(
useCallback(() => {
console.info(`Page ReactModal is visible [${sceneId}]`)
return () => console.info(`Page ReactModal is invisible [${sceneId}]`)
}, [sceneId]),
)
移除 useResult
,请使用 React.Context
或 Redux
等技术代替
这里有一个关于如何在 hybrid-navigation 中使用 React.Context 的例子。
移除 useVisibleEffect
,使用如下方式代替
import React, { useCallback } from 'react'
import { useVisible } from 'hybrid-navigation'
const visible = useVisible(sceneId)
useEffect(() => {
if (!visible) {
return
}
Alert.alert('Lifecycle Alert!', 'componentDidAppear.')
return () => Alert.alert('Lifecycle Alert!', 'componentDidDisappear.')
}, [visible])
如果你使用 1.5.0 以上版本,需要修改 android/build.gradle 文件,添加 mavenCentral()
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}