React 在微信内置浏览器触发重新渲染,页面上部分区域会直接消失

#1

我在用React试水写一个Switch组件,简单的写了俩组件:
Test - 父组件,渲染展示页面,其state存放switch子组件的状态(checked与否)
Switch - 子组件,渲染switch,并通过从父组件获取的toggle方法,绑定click事件到具体element,触发父组件setState重新渲染。

代码具体见:https://github.com/bj75326/react-switch
Github Page地址: Demo

现在的问题是在【微信内置浏览器、QQ内置浏览器、百度手机浏览器】每当click switch的时候 整个cell部分会消失不见了0.0,但是在Chrome手机浏览器、QQ手机浏览器、Safari都是可以正常工作的=.=。

我试着通过微信web开发者工具调试过,重新渲染应该是成功了,改动后的dom也可以看得到,但是页面上一直留白状态,试着手指拖拽下页面cell才会显示在页面上。

我有怀疑过是react-fastclick的问题,或者其他种种,各种尝试之后还是一样的情况。。

最后实在没办法,请教各位菊苣有遇到过类似情况没有,忘授业解惑,萌新不慎感激>_<

#2

不见,应该是css的兼容性问题吧?你尝试把一些ui的css去掉,慢慢调试。应该是一些特殊的css属性的bug了,因为按你说的dom有了,剩下的应该就是样式问题了

#3

忘了回复,问题解决了,原因是使用了css calc 设置一个viewport的height,微信IOS换成blink内核还是有些小坑,再次感谢了~