Wydaje mi się, że źle rozumiem niektóre podstawowe części pliku React.js.react.js ReactComponent nie oferuje setState()?
W http://facebook.github.io/react/docs/component-api.html
mówi, że składnik reakcji posiada metody jak setState().
Ale kiedy to zrobić:
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
Nie ma metody setstate() można znaleźć. Ale w dokumentach jest napisane API komponentów, więc co ja tu robię źle?
Wystarczy popatrzeć na http://facebook.github.io/react/blog/2014/03/21/react- v0.10.html # clone-on-mount. 'newComp' nie jest tak naprawdę instancją komponentu, jest deskryptorem (' MyComp.setState' nie może w ogóle działać, ponieważ 'MyComp' jest po prostu" klasą "). –
AHHH. Tak więc doktorzy są w błędzie. nie React.createClass tworzy instancję składnika, ale React.renderComponent ma. To ma sens. – ghost23
Dokumenty sugerują, że wywołanie 'MyComp (null)' powinno zwrócić instancję, co zrobiła w pewnym momencie AFAIK. Sprawdzę, czy/jak należy to zaktualizować. –