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

use*_*224 9 javascript ios react-native

我升级到反应原生0.48后,我遇到了以下错误,它在渲染应用程序(仅在IOS中)显示

scrollview没有原生类型BOOL的RCTScrollView.onScrollAnimationEnd的proptype.如果你自己没有改变这个prop,这通常意味着你的本机代码版本和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;
Run Code Online (Sandbox Code Playgroud)

这是我的依赖:

  "dependencies": {
    "expo": "^20.0.0",
    "react": "^16.0.0-alpha.12",
    "react-native": "^0.48.1",
    "react-navigation": "^1.0.0-beta.11"
  }
Run Code Online (Sandbox Code Playgroud)

我看了一下ListView的文档,似乎已经弃用了,但它应该还能运行吗?FlatList在我尝试时也会生成相同的错误.

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

Raj*_*jan 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
Run Code Online (Sandbox Code Playgroud)

... ScrollView 错误应该消失。