在 React 之外更新视图
Updating the view outside of React
如果您在 React 渲染方法之外更新视图,虚拟 DOM 会更新吗?我正在异步加载一些基本模板,然后只是用 React 更新组件,我只是担心,如果我更改模板,我是否会反对虚拟 DOM diff 的性能提升。
在 Reacts 控制之外更新 DOM 很好,这是将不使用 React 的插件集成到 React 组件中的常用方法。但是你真的不应该同时使用 React 和其他一些模板系统来呈现相同的 DOM 节点。
您应该做的只是 return 在您的 render
方法中创建一个空的 <div>
,然后在 componentDidMount
中获取那个 DOM 节点使用您的其他模板系统将某些内容渲染到该节点中。
类似于:
var MyComponent = React.createClass({
componentDidMount() {
var node = React.findDOMNode(this);
otherTemplateSystem.render(node, {some: data});
},
render() {
return <div></div>;
}
});
如果您在 React 渲染方法之外更新视图,虚拟 DOM 会更新吗?我正在异步加载一些基本模板,然后只是用 React 更新组件,我只是担心,如果我更改模板,我是否会反对虚拟 DOM diff 的性能提升。
在 Reacts 控制之外更新 DOM 很好,这是将不使用 React 的插件集成到 React 组件中的常用方法。但是你真的不应该同时使用 React 和其他一些模板系统来呈现相同的 DOM 节点。
您应该做的只是 return 在您的 render
方法中创建一个空的 <div>
,然后在 componentDidMount
中获取那个 DOM 节点使用您的其他模板系统将某些内容渲染到该节点中。
类似于:
var MyComponent = React.createClass({
componentDidMount() {
var node = React.findDOMNode(this);
otherTemplateSystem.render(node, {some: data});
},
render() {
return <div></div>;
}
});