【发布时间】:2018-11-17 22:08:59
【问题描述】:
我正在尝试声明两个我想渲染的不同 React 元素。这两个元素都是分离的元素,例如显示元素(App.jsx)和自定义帐户系统(Login.jsx)。但在我的测试中,我在两个 jsx 文件中都有相同的代码,以确保问题与它们的特定部分无关。
我还创建了一个 /imports/startup/client/index.js 文件(在 /client/main.js 文件中调用):
import React from 'react';
import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';
import './accounts-config.js';
import App from '/imports/ui/App.jsx';
import Login from '/imports/ui/Login.jsx';
Meteor.startup(() => {
render(<App />, document.getElementById('app'));
render(<Login />, document.getElementById('login'));
})
并且 /client/main.html 包含相关的 div 标签:
...
<div id="app"></div>
<div id="login"></div>
...
问题是第二个渲染永远不会显示(这里是 div 登录),我观察到只有第一个渲染被解释。
我发现的所有示例都只处理单个反应元素。所以我想知道如何像在我的 html 文件中那样使用几个分离的反应元素?
我是 meteorjs 和 react 世界的新手,所以也许我没有得到正确的哲学......
【问题讨论】:
-
将
App和Login渲染到不同的组件中。然后在 Meteor.startup() 中渲染该组件。类似于:render(<NewComponent />, document.getElementById('app'));
标签: javascript reactjs meteor