【发布时间】:2018-08-01 04:05:04
【问题描述】:
我正在学习 ReactJs。我想在另一个组件中使用一个组件。我查看了this、this 和this 和其他来源,尝试应用解决方案,但它们没有帮助我...
我的 list.html 包含:
<body>
...
<div id="filtered_list"></div>
<script src="built/test.js"></script>
<script src="built/filteredList.js"></script>
</body>
test.js:
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const client = require('./client');
class Test extends React.Component {
constructor(props) {
super(props);
this.state = {hellomsg: "one"};
this.state.hellomsg = "I cannot get information from the REST. If you can, help me please.";
}
render() {
client({method: 'GET', path: '/hello-world'}).done(response => {
//this.setState({hellomsg: response.entity});
this.state.hellomsg = response.entity;
});
return (
<p>{this.state.hellomsg}</p>
)
}
}
ReactDOM.render(
<Test />,
document.getElementById('test')
)
export default Test;
filteredList.js:
'use strict';
import Test from './Test';
const React = require('react');
const ReactDOM = require('react-dom');
class FilteredListManger extends React.Component {
render() {
return (
<p>Example Text</p> + <Test/>
)
}
}
ReactDOM.render(
<FilteredListManger />,
document.getElementById('filtered_list'))
如果我从 filteredList.js 中删除“import Test from './Test';”和“+ ” ,我可以在页面中看到“Example Text”文字,很好。
当我在 Chrome 中的 Sources 选项卡中打开调试模式时,我看不到错误,如果我打开 Console 选项卡,我会看到
Uncaught Error: _registerComponent(...): Target container is not a DOM element.
它导致 test.js:
ReactDOM.render(
<Test/>,
document.getElementById('test')
)
我已经申请了here的解决方案,所以我认为不是这个原因。
我所有的 js 文件都在 /src/main/js 中。
webpack 构建项目后,它们位于 /src/resources/static/build。
Htmls 位于 /src/resources/templates。
我应该在此处更改什么,以便在过滤列表.js 中使用 test.js 的渲染结果?
【问题讨论】:
标签: javascript reactjs