Javascript 警告:不推荐通过主React包访问reactClass

Javascript 警告:不推荐通过主React包访问reactClass,javascript,class,reactjs,Javascript,Class,Reactjs,在一些在线教程之后,每当我尝试打开一个简单的网页,该网页以以下方式实现React Js: var Letter = React.createClass({ render: function() { return ( <div> {this.props.children} </div> );

在一些在线教程之后,每当我尝试打开一个简单的网页,该网页以以下方式实现React Js:

    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>
            );
        }
    }
有关更多信息,请访问以下指南