javascript - example - react flux github
ReactJS findDOMNode y getDOMNode no son funciones (2)
Estoy construyendo una aplicación web con ReactJS y Flux y estoy tratando de obtener el nodo de mi div actual usando el método findDOMNode y obtengo el siguiente error:
Uncaught TypeError: React.findDOMNode is not a function
Entonces, traté de usar getDOMNode y recibí el mismo error:
Uncaught TypeError: React.getDOMNode is not a function
Estoy usando npm para construir el JS, el código donde uso estos métodos:
var React = require(''react'');
var stores = require(''../stores'');
var MessagesUserContainer = require(''./messageusercontainer'');
var ChatStore = stores.ChatStore;
var owner = stores.getOwner();
var MessagesList = React.createClass({
getInitialState: function(){
return {''muc'': []};
},
componentDidUpdate: function(){
var node = React.findDOMNode(this); //Error here
node.scrollTop = node.scrollHeight;
},
render: function(){
return (
<div className="chatScroll">
{this.state.muc}
</div>
)
}
});
module.exports = MessagesList;
ReactJS verion: 0.14.0
EDITAR
Como se señaló en las respuestas, la biblioteca DOM a partir de v0.14.0 está fuera del núcleo de React, así que hice algunos cambios en mi código:
var React = require(''react'');
var ReactDOM = require(''react-dom'');
var stores = require(''../stores'');
var MessagesUserContainer = require(''./messageusercontainer'');
var ChatStore = stores.ChatStore;
var owner = stores.getOwner();
var MessagesList = React.createClass({
getInitialState: function(){
return {''muc'': []};
},
componentDidUpdate: function(){
var node = ReactDOM.findDOMNode(this);
node.scrollTop = node.scrollHeight;
},
render: function(){
return (
<div className="chatScroll">
{this.state.muc}
</div>
)
}
});
module.exports = MessagesList;
Pero tengo otro problema:
Uncaught Error: Invariant Violation: findDOMNode was called on an unmounted component.
En la reacción v0.14
DOM biblioteca se ha movido de React.js sí mismo. Hay algunos cambios de BC, pero si escribió su código de manera adecuada, los cambios no serán dolorosos. Por favor, lea aquí para una descripción completa: https://facebook.github.io/react/blog/#major-changes
Modificado en la última Reacción:
ReactDOM.findDOMNode
https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode
Está en el paquete de react-dom
. Tenga en cuenta que ReactDOMServer también se ha movido a otro paquete. Probablemente en preparación para las API específicas de la plataforma relacionadas con React (como React native).