javascript - react : Insert One Component After Another

标签 javascript reactjs

很简单,我有一个像这样的 HTML 结构:

<div id="App" class="ui container">
    <div id="Keywords" class="left"></div>
    <div id="Users" class="right"></div>
    <div class="clear"></div>
    <div id="Nav"></div>
</div>

我将像这样附加我的组件:

ReactDom.render(<Feed listenTo="keywords" />, document.querySelector('#Keywords'));
ReactDom.render(<Feed listenTo="users" />, document.querySelector('#Users'));
ReactDom.render(<Nav />, document.querySelector('#Nav'));

我想删除 #Keywords#Users div。我只想将我的组件附加到 #App div 中。我尝试过这样的事情:

ReactDom.render(<Feed listenTo="keywords" />, document.querySelector('#App'));
ReactDom.render(<Feed listenTo="users" />, document.querySelector('#App'));
ReactDom.render(<Nav />, document.querySelector('#Nav'));

我最终得到了这个错误:

Uncaught Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element.

有人知道如何将这两个组件附加到 #App div 中吗?我必须将 #App 设为父组件吗?

提前致谢!

最佳答案

你可以这样做:

let Main = React.createClass({
  render: function() {
    return <div className="container main">
      <Feed listenTo="users" />
      <Feed listenTo="keywords" />    
      <Nav />
    </div>;
  }
});

React.render(
  <Main />,
  document.getElementById('app')
);

我已经包含了这个fiddle .

它使用已废弃的 React.render 而不是 ReactDOM.render - 但它似乎有效。

关于javascript - react : Insert One Component After Another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357406/

相关文章:

javascript - ReactJS 警告 "Can' t 在 .then 处理程序中返回 Firebase promise 时对未安装的组件执行 react 状态更新

javascript - React 无状态组件是否等于 ReacDOM.PureComponents

javascript - 访问 ' from origin ' null 处的脚本已被 CORS 策略阻止

javascript - 空调控制台代码 : navigator. 振动

javascript - JQ和Js如何验证内容为空(空格键)

javascript - 可以在一个组件里面声明其他组件吗?

javascript - 如何在真实设备上捆绑和部署 React-Native iOS 应用程序

c# - $.ajax POST 调用 ServiceStack Web 服务,参数未到达

javascript - 如何添加指向已获得翻转脚本的图像的链接?

javascript - 在第二次单击状态尚未使用您添加的 newItem 更新后添加标记?