Кажется, я неправильно понимаю некоторые фундаментальные части React.js.react.js ReactComponent не предлагает setState()?
В http://facebook.github.io/react/docs/component-api.html
он говорит, что реагируют компонент имеет такие методы, как SetState().
Но когда я делаю это:
var MyComp = React.createClass({
getInitialState: function() {
return {dummy: "hello"};
},
render: function() { return React.DOM.h1(null, this.state.dummy + ", world!") }
}
var newComp = MyComp(null);
React.renderComponent(newComp, myDomElement);
MyComp.setState({dummy: "Good Bye"}); // Doesn't work. setState does not exist
newComp.setState({dummy: "Good Bye"}); // Doesn't work either. setState does not exist
Там нет метода SetState() можно найти. Но в документах он говорит API-интерфейс Component, так что я здесь не так?
Посмотрите http://facebook.github.io/react/blog/2014/03/21/react- v0.10.html # клон-на-горе. 'newComp' на самом деле не является экземпляром компонента, это дескриптор (' MyComp.setState' не может работать вообще, потому что 'MyComp' - это в основном« класс »). –
AHHH. Итак, документы ошибочны. not React.createClass создает экземпляр компонента, но React.renderComponent делает. В этом есть смысл. – ghost23
Документы подразумевают, что вызов 'MyComp (null)' должен возвращать экземпляр, который он сделал в некоторый момент AFAIK. Я проверю, если/как это должно быть обновлено. –