我的 React 组件有问题。我组件的嵌套子组件 ControlPanel
似乎没有渲染。这是我的代码:
class App extends Component {
render() {
return (
<div className="App">
<ControlPanel>
<CustomerDisplay />
</ControlPanel>
</div>
);
}
}
我在这个文件的顶部有以下两行:
import ControlPanel from './components/control_panel';
import CustomerDisplay from './components/customer_display';
这是我的 ControlPanel
组件:
import React from 'react';
import CSSModules from 'react-css-modules';
import styles from './styles.scss';
const ControlPanel = () => {
return (
<div className="control_panel" id="control_panel">
</div>
);
}
export default CSSModules(ControlPanel, styles);
我努力了:
- 将组件作为完整的 HTML 标记调用(打开和关闭)
- 将
CustomerDisplay
组件嵌套在ControlPanel
组件中(在ControlPanel
的 index.jsx 文件中)
我知道嵌套组件是可能的。我已经看到它完成了。出于某种原因,它对我不起作用。
原文由 MddHtt13 发布,翻译遵循 CC BY-SA 4.0 许可协议
要允许组件包含子组件并正确渲染它们,您必须使用
this.props.children
。这作为 prop 传递给所有带有子组件的组件,并包含组件的子组件,如 React 文档 所述:”`
注意
props.children
是如何呈现的(不是this.props.children
因为它是一个函数组件)。