weui / react-weui

weui for react
https://weui.github.io/react-weui/docs/
2.85k stars 493 forks source link

请教一下 TabBarItem 的一个用例 #230

Closed HaveF closed 7 years ago

HaveF commented 7 years ago

目前的tabbar是这样一个用法:

<Tab type="tabbar" >
     <TabBarItem icon={xxxIcon} label="label0">
        <Page0 />
     </TabBarItem>
     <TabBarItem icon={xxxIcon} label="label1">
        <Page1 />
     </TabBarItem>
     <TabBarItem icon={xxxIcon} label="label2">
        <Page2 />
     </TabBarItem>
</Tab>

存在的问题就是,如果Page1中有不少图片,那么整个页面的load完成的时间会很久。

尤其是使用微信的jssdk分享页面的时候,wx.ready会等整个页面都load完成之后才会触发。

这样导致,有的人只是打开了网页,看到首屏以后就进行点击分享(Page1中的图片并没有load完成),这时wx.ready事件还没有触发,导致看不到分享的图片和分享的desc。

我尝试使用了一些状态变量,类似下面代码 把所有类似Page <Page1 /> 替换成 {this.state.tabIdx === 1 ? <Page1 /> : null} 但没有什么作用,甚至是<Page1 />都不显示了。仔细查了下原因,是因为 当使用这种方法时,每次只有一个<PageX />存在在dom中,它的Index永远都是0...所以只有第一个页面能够显示。。。

很头疼,实在是不知道怎么做才能读完<Page1 />就算页面加载完,而当点击tabbar 1(Page1)的时候才读取Page1中的图片?

谢谢

HaveF commented 7 years ago

{this.state.tabIdx === 1 ? <Page1 /> : <div/>} 就可以了。打扰了。