我升级到原生0.48后出现了以下错误,这在渲染时显示在展示应用上(仅限IOS )
scrollview没有原生道具的proptype RCTScrollView.onScrollAnimationEnd本机类型BOOL。如果你还没有 自己改变了这个道具这通常意味着你的版本 本机代码和javascript代码不同步。更新oth 应该让这个错误消失。
不确定原因,但我尽可能缩小了我的代码库。我尝试使用ListView时生成此错误。 这是代码库:
import React from 'react';
import {AppRegistry,View,Text,StyleSheet,ListView} from 'react-native';
const styles = StyleSheet.create({
fullView:{
flex:1
},
statusBar: {
backgroundColor:"#de3c3c",
padding:5
},
});
class MyComponent extends React.Component {
constructor() {
super();
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
dataSource: ds.cloneWithRows(['row 1', 'row 2']),
};
}
render() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={(rowData) => <Text>{rowData}</Text>}
/>
);
}
}
export default MyComponent;
这是我的依赖:
"dependencies": {
"expo": "^20.0.0",
"react": "^16.0.0-alpha.12",
"react-native": "^0.48.1",
"react-navigation": "^1.0.0-beta.11"
}
我看了一下ListView的文档,似乎已经弃用了,但它应该还能运行吗? FlatList在我尝试时也会生成相同的错误。
注意:我确保没有其他打包器在运行。
答案 0 :(得分:3)
找到可能的解决方案!
- Bump expo version in package.json to 21.0.2
- Bump react-native version in package.json to 0.48.4
- Remove node_modules
- npm install or yarn install
- Change sdk version in app.json to 21.0.0
... ScrollView错误应该消失。
答案 1 :(得分:0)
基于https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md,看起来expo 20.x.x应该与0.47.x版本的react-native一起使用。
答案 2 :(得分:0)
显然,目前Expo Client应用程序与RN 0.48及更高版本不完全兼容。 一种解决方案是使用 react-native init 来测试版本为0.48的原生项目。
答案 3 :(得分:0)
我遇到了同样的问题。但是我还没有使用expo。 最后,我通过重置ios模拟器来修复它。
步骤:硬件-擦除所有内容和设置-重置