React Native Navigation Hybrid Versions Save

React Native Navigation that supports seamless navigation between Native and React.

v2.1.2

2 years ago
  • 处理透明导航栏在 Android 10 的兼容性问题

v2.1.1

2 years ago
  • 适配 ReactNative 0.65

v2.1.0

2 years ago
  • 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]),
    )
    

v2.0.0

2 years ago
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])

v1.7.3

2 years ago
  • 通过 router 切换 tab 时,调用当前 stack 的 popToRoot

iOS specific

  • 处理关闭 drawer 时,因页面状态栏样式不同导致的偶尔闪烁问题

Android specific

  • 延迟释放伪 TabBar,避免偶尔出现的闪烁问题
  • 设置 Modal 的状态栏默认样式为白色,和 Alert 保持一致
  • 确保在主线程设置生命周期状态

v1.7.0

2 years ago

BreakChanges

  • 路由 Handler 现在返回一个 Promise,这是为了可以将 Result 派发到正确的页面

  • 重新设计 Result 相关实现,移除了 requestCode 参数,受影响的 API 有 useResultpresentshowModal

Android specific

  • 添加 scrimAlphaAndroid 属性,用于配置侧滑返回的遮罩效果

  • 动画文件名称变更

v1.6.1

3 years ago

iOS specific

  • 修复开启 splitTopBarTransitionIOS 后,present 会导致 TopBar 上覆盖一层蒙版的问题

v1.6.0

3 years ago

Android specific

  • 优化 TabBar 可见性在页面转场时的效果,更好地支持自定义转场动画

iOS specific

  • 添加 splitTopBarTransitionIOS 属性,支持 TopBar 在转场时总是分离效果

v1.5.0

3 years ago

Android specific

  • 底层库迁移到 mavenCentral

如果你使用 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' }
    }
}

v1.4.7

3 years ago

Android specific

  • 修复调用 setRoot 时,不正常抛 IllegalStateException 的问题