Javascript 警告:不推荐通过主React包访问reactClass
在一些在线教程之后,每当我尝试打开一个简单的网页,该网页以以下方式实现React Js:Javascript 警告:不推荐通过主React包访问reactClass,javascript,class,reactjs,Javascript,Class,Reactjs,在一些在线教程之后,每当我尝试打开一个简单的网页,该网页以以下方式实现React Js: var Letter = React.createClass({ render: function() { return ( <div> {this.props.children} </div> );
var Letter = React.createClass({
render: function() {
return (
<div>
{this.props.children}
</div>
);
}
});
var destination = document.querySelector("#container");
ReactDOM.render(
<div>
<Letter>A</Letter>
<Letter>E</Letter>
<Letter>I</Letter>
<Letter>O</Letter>
<Letter>U</Letter>
</div>,
destination
);
我得到以下信息:
警告:不推荐通过主React包访问createClass,并将在React v16.0中删除。改用普通JavaScript类。如果您还没有准备好迁移,那么在npm上可以使用CreateReact类v15.*作为临时的插入式替换。有关更多信息,请参阅
从google chrome web开发者控制台
如何将createClass组件转换为Javascript类?仅在以下情况下转换createClass组件: 该类上没有混合,或者选项['pure-component']为true。 对不推荐使用的API没有类。如果此脚本发现对isMounted、getDOMNode、replaceProps、replaceState或setProps的任何调用,它将跳过该组件。 组件在方法中不使用参数 具有可转换的getInitialState 与>foo:getStuff不同,具有基本的右侧值 要将组件转换为ES6类组件,请执行以下操作: 将var A=React.createClassspec替换为类A扩展React.component{spec} 因此,要回答您的问题,请将字母组件转换为:
class Letter extends React.Component {
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
有关更多信息,请访问以下指南