javascript - React - 打印导入组件函数的内容
问题描述
尝试通过将位于 components 文件夹中的 HTML 分成更小的部分来拆分一些 HTML 块。(我知道,HTML 并不是真正的 html,它是 JSX)。
我试图实现的结果是让导入的组件 [Navigation] 呈现其内容。
我确实了解可能有用于代码拆分的工具。
问题:为什么代码不渲染 div 导航内容?
导航.js
import React from 'react';
export default function Navigation() {
return (
<div className="navigation">
<ul>
<li>
<a href="http://www.google.com">Google</a>
</li>
</ul>
</div>
);
}
应用程序.js
import React from 'react';
import './App.css';
import Navigation from './components/Navigation';
class App extends React.Component {
render() {
Navigation();
return (
<div>
Hello from component - Class!
</div>
);
}
}
export default App;
索引.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();
解决方案
您的组件未呈现,因为您在 return 语句之外调用了 de 函数。
对于组件渲染,需要在渲染函数内部返回组件;
例子:
render () {
return <Component/>
}
当你这样称呼时:
render() {
Navigation(); // see, the navigation is outside the return statemente
return (
<div>
<p>Hello from component - Class!</P>
</div>
)
}
试试这个:
import React from 'react';
import './App.css';
import Navigation from './components/Navigation';
class App extends React.Component {
render() {
return (
<div>
<Navigation/>
<p>Hello from component - Class!</P>
</div>
)
}
}
export default App;
推荐阅读
- css - 如何将背景图像的中心点向下移动?
- javascript - 如何将模型中的数据获取到 JavaScript 函数中?
- python - 使用 R 和 Python 的不同多项式回归系数
- resharper - 重新锐化,
并悬停智能感知 - java - 如果收到广播,将调用应用程序类 OnCreate
- javascript - Javascript将文本字段限制为数字和小数?
- java - Embedded Jetty:如何在源代码中设置 JMX 端口
- amazon-dynamodb - 使用值列表查询 DynamoDB GSI
- javascript - 反应 ref 以通过呈现为 this.props.children 的子级
- java-8 - 缓存 Java 8 流