We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
百度小程序
https://gitee.com/qianzhaoyan/taro-swan-renderbug 小程序基础库: 3.190.15 使用框架: React
直接打开即可. 重要代码: pages/index/index.tsx => render函数 => <LayoutView disableScroll. 描述: 去掉 props 的 disableScroll 可以正常使用.
渲染 Radiobox 并正常使用
无法渲染 Radiobox.
Taro CLI 2.2.12 environment info: System: OS: macOS 10.14.6 Shell: 3.2.57 - /bin/bash Binaries: Node: 12.11.1 - ~/.nvm/versions/node/v12.11.1/bin/node npm: 6.11.3 - ~/.nvm/versions/node/v12.11.1/bin/npm npmPackages: @tarojs/components: 2.2.12 => 2.2.12 @tarojs/components-qa: 2.2.12 => 2.2.12 @tarojs/mini-runner: 2.2.12 => 2.2.12 @tarojs/plugin-terser: 2.2.12 => 2.2.12 @tarojs/router: 2.2.12 => 2.2.12 @tarojs/taro: 2.2.12 => 2.2.12 @tarojs/taro-alipay: 2.2.12 => 2.2.12 @tarojs/taro-h5: 2.2.12 => 2.2.12 @tarojs/taro-qq: 2.2.12 => 2.2.12 @tarojs/taro-quickapp: 2.2.12 => 2.2.12 @tarojs/taro-rn: 2.2.12 => 2.2.12 @tarojs/taro-swan: 2.2.12 => 2.2.12 @tarojs/taro-tt: 2.2.12 => 2.2.12 @tarojs/taro-weapp: 2.2.12 => 2.2.12 @tarojs/webpack-runner: 2.2.12 => 2.2.12 eslint-config-taro: 2.2.12 => 2.2.12 eslint-plugin-taro: 2.2.12 => 2.2.12 nerv-devtools: ^1.5.5 => 1.5.7 nervjs: ^1.5.5 => 1.5.7 stylelint-config-taro-rn: 2.2.12 => 2.2.12 stylelint-taro-rn: 2.2.12 => 2.2.12
LayoutView 条件渲染 props.children。 LayoutView 首先渲染了 defaultProps 里 disabledScroll = false 的情况的 ScrollView.
由于 swan 的 initComponent 在 compid 变化后才执行,parent 执行 propsManager.set。LayoutView initComponent 后获得 propsManager[compid] 里的 disabledScroll = true。原来 ScrollView 里的 Children 被销毁。执行了 componentWillUnmount。导致propsManage[compid] 里的 observers 和 map 被 delete 了。
此时渲染了 View 里的 Children,但是因为 parent 的调用 propsManager.set 在组件销毁之前。导致 View 里的 children 再次 render 的时候 propsManager 里的 map[comid] 是 undefined
The text was updated successfully, but these errors were encountered:
希望将 swan createComponent 里的 initComponent 生命周期改成和 微信一样。 好像是 1.3.x 有个版本改了。现在 attached 和 ready 生命周期里什么事情都没干。 导致出现了一种预渲染的情况。默认渲染 defaultProps 的 View, 才会再次 rerender 真正的 props 的 View。
Sorry, something went wrong.
抖音小程序也有这样的问题,而且不清会影响当前条件渲染的组件,还会影响同一个父组件下面的其他的兄弟组件props的获取,两种情况我都遇到了
字节小程序的问题。可能有点不一样。我发现字节会出现诡异的生命周期问题,比如诡异的自动调用了 detached。导致 props 丢失,可能是字节的问题。可以试一下把有问题的组件外面套一层 view。 改变原来的布局解决。可能是字节的模板引擎还是渲染引擎什么出了问题。
字节小程序还有 attached 的时候 compid 丢失的问题, 暂时还没找到问题原因。
No branches or pull requests
相关平台
百度小程序
复现仓库
https://gitee.com/qianzhaoyan/taro-swan-renderbug
小程序基础库: 3.190.15
使用框架: React
复现步骤
直接打开即可.
重要代码: pages/index/index.tsx => render函数 => <LayoutView disableScroll.
描述: 去掉 props 的 disableScroll 可以正常使用.
期望结果
渲染 Radiobox 并正常使用
实际结果
无法渲染 Radiobox.
环境信息
补充信息
LayoutView 条件渲染 props.children。
LayoutView 首先渲染了 defaultProps 里 disabledScroll = false 的情况的 ScrollView.
由于 swan 的 initComponent 在 compid 变化后才执行,parent 执行 propsManager.set。LayoutView initComponent 后获得 propsManager[compid] 里的 disabledScroll = true。原来 ScrollView 里的 Children 被销毁。执行了 componentWillUnmount。导致propsManage[compid] 里的 observers 和 map 被 delete 了。
此时渲染了 View 里的 Children,但是因为 parent 的调用 propsManager.set 在组件销毁之前。导致 View 里的 children 再次 render 的时候 propsManager 里的 map[comid] 是 undefined
The text was updated successfully, but these errors were encountered: