不推荐使用ReactNative.createClass,而是使用"React"包中的React.createClass

Raj*_*esh 7 reactjs react-native

任何人都知道为什么这个警告会出现?

另一个警告是:不推荐使用ReactNative.createElement.改为使用"react"包中的React.createElement.

代码是:

var React = require('react-native');

var {
Text,
View,
StyleSheet,
} = React;

module.exports = React.createClass({
render: function(){
return(
  <View>
    <Text>{this.props.titleName}</Text>
  </View>
);
}
});

var styles = StyleSheet.create({
container:{

},
text:{

}
});
Run Code Online (Sandbox Code Playgroud)

Dan*_*dow 18

从react-native导入React 已在0.25.1中弃用.它将在0.26停止工作.

你现在应该这样做:

import React from 'react';

import {
    Text,
    View,
    StyleSheet,
} from 'react-native';
Run Code Online (Sandbox Code Playgroud)

编辑:如果在修复代码后仍然出现弃用警告,则可能正在使用尚未更新的依赖项.要修复这些警告,请执行以下操作:

  1. 检查是否有可用于修复导入的更新.
  2. 使用此脚本重写依赖项以自动使用正确的导入.这将花费相当长的时间并重写一些与反应无关的文件.jscodeshift -t transform.js PATH_TO_YOUR_PROJECT/node_modules/
  3. 要从react-native中查找需要React的其余文件,可以在第41行的node_modules/react-native/Libraries/ReactNative/ReactNative.js中设置断点,即触发警告的位置.

当您发现尚未更新的依赖项时,提交问题或者您有时间PR可能是个好主意.

  • 是的,它可能在你的一个依赖项中.到目前为止,我发现的最好的方法是在第41行的node_modules/react-native/Libraries/ReactNative/ReactNative.js中设置一个断点,触发警告. (2认同)