React Native 0.48 - `scrollview没有本机的proptype

时间:2017-09-08 15:24:01

标签: javascript ios react-native

我升级到原生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在我尝试时也会生成相同的错误。

注意:我确保没有其他打包器在运行。

4 个答案:

答案 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模拟器来修复它。

步骤:硬件-擦除所有内容和设置-重置