Dav*_*ite 6 javascript ecmascript-6 reactjs react-jsx
拿一个简单的组件:
function MyComponent({ children }) {
return children;
}
Run Code Online (Sandbox Code Playgroud)
这有效:
ReactDOM.render(<MyComponent><span>Hello</span></MyComponent>, document.getElementById('stage'));
Run Code Online (Sandbox Code Playgroud)
但这不(我删除了<span/>):
ReactDOM.render(<MyComponent>Hello</MyComponent>, document.getElementById('stage'));
Run Code Online (Sandbox Code Playgroud)
因为React试图调用render字符串:
Uncaught TypeError: inst.render is not a function
Run Code Online (Sandbox Code Playgroud)
另一方面,这很好用:
ReactDOM.render(<p>Hello</p>, document.getElementById('stage'));
Run Code Online (Sandbox Code Playgroud)
我该如何<MyComponent/>表现得像<p/>?
您至少需要一个顶级 HTML 元素。你的组件不能真正只输出一个字符串,这不是 React 的工作方式。
最简单的解决方案是简单地将其MyComponent输出包装在 span 或 div 中。
function MyComponent({ children }) {
return <span>{ children }</span>;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6564 次 |
| 最近记录: |