Tôi đã là một thành phần Phản ứng mà Toggles một className
khi các thành phần được nhấpKhi nào tôi nên sử dụng getInitialState trong một Phản ứng thành phần
var Foo = React.createClass({
getInitialState: function() {
return {className: ''}
},
render: function(){
var className = 'bar ' + this.state.className
return React.createElement('div', {className: className, onClick: this.onClick})
},
onClick: function() {
this.setState({className: 'baz'})
}
});
Nó hoạt động tốt, nhưng khi tôi render phía máy chủ ứng dụng, tôi nhận được sau lỗi
Warning: getInitialState was defined on a component, a plain JavaScript class.
This is only supported for classes created using React.createClass.
Did you mean to define a state property instead?
xây dựng của tôi bước được thiết lập như vậy
var Foo = require('./Foo');
var factory = React.createFactory(Foo);
module.exports = React.renderToString(factory({}));
Tại sao những gì tôi đang làm sai, và làm thế nào nó nên được thực hiện?
Thông điệp đó đi lên nếu bạn đang sử dụng các lớp học ES6 đồng bằng. Quá trình xây dựng của bạn đang làm gì? Xem tại đây: http://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#es6-classes – zackify
Tôi không sử dụng các lớp ES6 - tôi sẽ đặt câu hỏi với ví dụ xây dựng của tôi, nhưng nhiều hơn hoặc ít hơn của nó chỉ renderToString – Patrick
Bạn đang xuất 'Foo' (nó không có trong ví dụ của bạn). Tôi vừa tạo một dự án thử nghiệm nhỏ cục bộ hoạt động tốt và không tạo ra lỗi. Ứng dụng demo của tôi đang sử dụng React 0.13. Đầu ra: '
' – WiredPrairie