मैं है एक घटक प्रतिक्रिया है कि एक className
टॉगल जब घटकमैं एक में getInitialState उपयोग कब करना चाहिए प्रतिक्रिया घटक
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'})
}
});
यह ठीक काम करता है, लेकिन जब मैं अनुप्रयोग सर्वर साइड प्रतिपादन कर रहा हूँ, मैं क्लिक किया जाता है त्रुटि निम्नलिखित
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?
मेरे निर्माण कदम की तरह तो
var Foo = require('./Foo');
var factory = React.createFactory(Foo);
module.exports = React.renderToString(factory({}));
क्यों है सेटअप है मैं क्या गलत कर रहा हूं, और यह कैसे किया जाना चाहिए?
आप सादे ES6 कक्षाएं उपयोग कर रहे हैं यही कारण है कि संदेश आता है। आपकी बिल्ड प्रक्रिया क्या कर रही है? यहां देखें: http://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#es6-classes – zackify
मैं ES6 कक्षाओं का उपयोग नहीं कर रहा हूं - मैं सवाल करूंगा मेरे निर्माण उदाहरण के साथ, लेकिन इसके कम या ज्यादा रेंडरिंग – Patrick
क्या आप 'फू' निर्यात कर रहे हैं (यह आपके उदाहरण में नहीं है)। मैंने अभी स्थानीय स्तर पर एक छोटा परीक्षण प्रोजेक्ट बनाया है जो ठीक काम करता है और त्रुटि उत्पन्न नहीं करता है। मेरा डेमो ऐप प्रतिक्रिया 0.13 का उपयोग कर रहा है। आउटपुट: '
' – WiredPrairie