ant-design / ant-design-mobile-rn

Ant Design for React Native
https://rn.mobile.ant.design/
MIT License
3.05k stars 611 forks source link

请问未来是否会考虑升级依赖以兼容react 18? #1284

Closed cw1997 closed 1 month ago

cw1997 commented 1 year ago

What problem does this feature solve?

目前该项目有部分peer dependency的版本比较旧因此仍然依赖较早期的react 16||17,例如react-native-picker,大部分情况下这样没什么问题。但是我目前遇到Picker这个组件在expo和Android真机上可以正常工作,但是在iOS真机上显示后会闪退,我猜测可能是某些peer dependency的依赖未升级到最新版导致不兼容react 18

What does the proposed API look like?

希望能兼容react 18

1uokun commented 1 year ago

1.现在用的@react-native-picker/picker 2.现在是支持react18的

请按下面内容告诉我们你现在用的版本,才能帮你更好定位问题 http://new-issue.ant.design?repo=ant-design-mobile-rn image

arlovip commented 1 year ago

同样的问题,前两天刚试了,在最新的RN版本,根本没法使用,所以放弃了,在找其他代替方案,初始化一个新项目也不行

edtam commented 1 year ago

@1uokun 我猜题主的意思是指package.jsonpeerDependencies指定的@react-native-picker/picker版本有点问题,因为v1的包peerDependencies"react": "16 || 17",是否改为"@react-native-picker/picker": ">=1.9.0"比较合适呢?

https://github.com/ant-design/ant-design-mobile-rn/blob/342aeba3090f2e8e665c3391dcbf3e06e2c3a0d8/package.json#L107

FlagDu commented 1 year ago

@1uokun @ant-design/react-native 5.0.3使用的是@react-native-picker/picker 1.16.8,而@react-native-picker/picker 1.16.8的peerDependencies需要"react": "16 || 17",所以在下载依赖的时候,与react 18冲突了。

1uokun commented 1 year ago

这是npm的问题不是库的问题

npm install @react-native-picker/picker --save --legacy-peer-deps
FlagDu commented 1 year ago

@1uokun 为什么不把直接库的package.json中的react版本改成16 || 17 || 18?这样再在react 18项目中下载@ant-design/react-native 5.0.3的时候,就不会被npm报错了。

onlyling commented 8 months ago

同样的问题,前两天刚试了,在最新的RN版本,根本没法使用,所以放弃了,在找其他代替方案,初始化一个新项目也不行

轻量、可靠的 React Native 组件库——小暑