问答

taro小程序

作者:admin 2021-05-15 我要评论

请问下taro开发小程序的过程中,子组件中的componentDidShow生命周期方法没有被执行,这个应该怎么解决呢 // 父组件代码如下 export default class Index extend...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

请问下taro开发小程序的过程中,子组件中的componentDidShow生命周期方法没有被执行,这个应该怎么解决呢

// 父组件代码如下
export default class Index extends Component {

componentWillMount () { }

componentDidMount () { }

componentWillUnmount () { }

componentDidShow () {

console.log('yyyyyyyyyyyy')

}

componentDidHide () { }

render () {

return (
  <View className='index'>
    <Test></Test>
    <Text>Hello world!</Text>
  </View>
)

}
}

// 子组件代码如下
export class Test extends Component {
componentWillMount() { }

componentDidMount() { }

componentWillUnmount() { }

componentDidShow() {

console.log('xxxxxxxxxxxxxxshow')

}

componentDidHide() { }

render() {

return (
  <View>测试</View>
)

}
}

###

情况一,看下这个链接有关子组件componentDidShow不执行的原因 https://github.com/NervJS/tar...

image.png
排查下是不是微信开发工具基础库版本低

情况二,子组件的 componentDidShow 是跟随页面的 componentDidShow 的,所以组件动态切换是不会触发组件的 componentDidShow,你应该用子组件的 componentWillRecieveProps

###

首先componentDidShow映射的是onShow这个声明周期,onShow只存在于Page中,Taro子组件只是一个React组件,不存在这个声明周期,所以是无法执行的, 而小程序的自定义组件是可以观测page的onShow方法执行,但是Taro的组件只是一个React组件而已,编译之后只是一段字符串,并不是小程序组件,所以即不能映射Page的onshow,也不能触发自定义组件的onshow,所以是没有办法的。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 请问下prometheus怎么进行自定义的按业

    请问下prometheus怎么进行自定义的按业

  • 节流函数为什么,点击无效,监听窗口大

    节流函数为什么,点击无效,监听窗口大

  • express访问静态资源失败

    express访问静态资源失败

  • IE 浏览器下 match 方法报错

    IE 浏览器下 match 方法报错

腾讯云代理商
海外云服务器