最近回到了RN相关的项目组,又开始爱上React-Native。只有RN,能让我在家摆弄(jia)技术(ban)半天。这次我遇到了什么问题?让我们一一谈谈。依赖首先是老式的依赖安装。npm依赖就不说了,遇到的都是常见问题。这次遇到Android同步gradle下载maven-metadata.xml卡在下载maven-metadata.xml的问题,一开始以为是网络问题,好吧,我开全球vpn,我给你够用时间(挂机跑了一晚上),还好吗?结果,下载maven-metadata.xml这个词,早上起来还是耳熟能详。...在网上搜索了一下,有几种使用离线模式的解决方案。不是,这个方案是为了处理每次同步的问题。我没有同步过一次,而且我无法在离线模式下运行。用阿里云的仓库不行。同步成功,编译失败。报错找不到对应的文件。修改maven地址是不行的。最后通过添加--info参数重新同步,发现拉取了友盟的依赖并报403,然后搜索友盟在仓库的maven地址,修改了友盟的地址。.详见友盟公告,那么为什么公司的发布机可以正常发布呢?这是传说中的Itworksonmymachine吗?也许那台机器不需要同步。.主菜之后是主菜。需求是做一个类似Dropdown的组件,但是在iOS上做完之后,在Android上效果就坏了。一开始以为是个老问题溢出来了:visible在android下不起作用。后来发现现在还可以,看来RN还在进步。然后发现measure返回的数据在Android和iOS下不一致。我的需求是获取当前View相对于父容器的位置,直接在Android下使用onLayout中返回的数据。OK,样式正常,但是弹出的内容无法点击!并且点击将穿透。详见2年未解决的githubissue。.提醒我2018年给RN提的issue到现在还没解决。..收回上面说RN在进步的话!!!也提到了一些解决方案,比如在react-native-gesture-handler中用TouchableOpacity替换RN。更换后,确实可以订货!但是穿透的问题并没有解决。尝试将页面中的其他触控组件统一改为使用react-native-gesture-handler来解决穿透问题。但是这种风格不再起作用了。即使将样式更改为containerStyle。因为页面的布局有点复杂,又涉及到Pad宽屏和手机屏幕的适配,小妾改不了!!目前,我想到了两个最终的解决方案。当Dropdown显示菜单时,禁用页面上的其他Touchable组件。使用类似于Modalmask的解决方案在顶层实现我的Dropdown,比如使用react-native-root-siblings代替当前的。绝对方法(这种方法在网络上比较常见)方案一简单,但并不容易。所以我可能会使用选项2~End
