NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.57k stars 4.79k forks source link

安卓端APP首页隐藏顶部导航栏,子页面显示导航栏,进入子页面后通过手机返回键一直返回到手机桌面,再进入APP,首页会显示导航栏 #10033

Open BS3385 opened 3 years ago

BS3385 commented 3 years ago

相关平台

React Native

使用框架: React

复现步骤

在RN项目应用首页config文件中设置navigationStyle: 'custom',使应用首页header导航栏隐藏,子页面中导航栏都正常显示 然后进入APP(首页没有导航栏),再点击进入子页面(子页面显示导航栏),在返回首页(导航栏依然没有),再继续使用手机返回键操作返回手机桌面(注意是使用返回键操作,而不是home键回到桌面),然后重新打开APP,发现首页出现了导航栏

该问题只在安卓手机出现

期望结果

期望不管怎样的操作,应用首页一直不会显示导航栏

实际结果

实际应用进入子页面再一直返回到手机桌面,再点击进入APP,首页也会出现导航栏

环境信息

 Taro v3.2.0-canary.8

  Taro CLI 3.2.0-canary.8 environment info:
    System:
      OS: macOS High Sierra 10.13.6
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 12.20.0 - ~/.nvm/versions/node/v12.20.0/bin/node
      Yarn: 1.22.10 - ~/.nvm/versions/node/v12.20.0/bin/yarn
      npm: 6.14.8 - ~/.nvm/versions/node/v12.20.0/bin/npm
    npmPackages:
      @tarojs/cli: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/components: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/mini-runner: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/react: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/runtime: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/taro: 3.2.0-canary.8 => 3.2.0-canary.8
      @tarojs/webpack-runner: 3.2.0-canary.8 => 3.2.0-canary.8
      babel-preset-taro: 3.2.0-canary.8 => 3.2.0-canary.8
      eslint-config-taro: 3.2.0-canary.8 => 3.2.0-canary.8
      nervjs: ^1.5.7 => 1.5.7
      react: ^16.13.1 => 16.14.0
      react-native: 0.63.2 => 0.63.2
      taro-ui: ^3.0.0-alpha.3 => 3.0.0-alpha.10

补充信息

怀疑是react-navigation设置问题,没进入子页面时,首页屏幕设置是不显示导航栏的,进入子页面之后,由于子页面需要显示导航栏,导致子页面的设置在整个应用中生效,在返回手机桌面重新打开APP过程中,APP应该会重新唤醒,有些配置会重新加载,导致首屏也加载了子页面生效的配置信息,从而首页出现了导航栏

zhiqingchen commented 3 years ago

先升级到最新版试试

yechunxi commented 3 years ago

@BS3385 新版没有复现你说的问题,先更新到最新版本,如还有问题,麻烦提供下复现demo

BS3385 commented 3 years ago

@yechunxi @zhiqingchen 好的,等我升级试试

BS3385 commented 3 years ago

@yechunxi 你好,升级的话是taro和rn都要升级到最新版吗?

BS3385 commented 3 years ago

image RN的壳我想拉个最新版的,按这个分支来下来,package里rn版本是0.6.4

BS3385 commented 3 years ago

rn

zhiqingchen commented 3 years ago

0.65还在开发中,不可用,请使用0.64

BS3385 commented 3 years ago

taro升级到3.3.7之后,编译RN的项目,编译配置中outputRoot有设置dist/${process.env.TARO_ENV},编译结果却输出到了项目根目录下,微信和支付宝编译结果是在dist目录下,升级前的版本是正常的,不清楚是什么问题 image image

BS3385 commented 3 years ago

升级之后,首页顶部导航栏的问题是不存在了,但是有另一个问题,RN的页面配置中navigationStyle属性必须设置default才能显示导航栏,不设置的话就不会显示(文档里写的是值默认为default)

BS3385 commented 3 years ago

升级之后,还有一个问题,我的设计稿尺寸为375,DEVICE_RATIO设置了{375: 2 / 1},这样设置在小程序中是正常的,在RN上,页面尺寸就不对,所有元素都缩小了,把DEVICE_RATIO设置为{375: 1 / 2}之后,在RN端正常,小程序端元素是缩小的

yechunxi commented 3 years ago

升级之后,首页顶部导航栏的问题是不存在了,但是有另一个问题,RN的页面配置中navigationStyle属性必须设置default才能显示导航栏,不设置的话就不会显示(文档里写的是值默认为default)

能提供复现demo么?默认不加是显示的呢?

shinken008 commented 3 years ago

级之后,还有一个问题,我的设计稿尺寸为375,DEVICE_RATIO设置了{375: 2 / 1},这样设置在小程序中是正常的,在RN上,页面尺寸就不对,所有元素都缩小了,把DEVICE

@BS3385 再提一个 issue 追踪一下

BS3385 commented 3 years ago

升级之后,首页顶部导航栏的问题是不存在了,但是有另一个问题,RN的页面配置中navigationStyle属性必须设置default才能显示导航栏,不设置的话就不会显示(文档里写的是值默认为default)

能提供复现demo么?默认不加是显示的呢?

不加就不显示导航栏了,与navigationStyle: custom 效果一致