错误:Nav(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null

时间:2021-06-24 03:50:42

标签: javascript html css reactjs styled-components

我的代码中有这个错误: 错误:Nav(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null。

我正在创建一个带有样式组件的导航栏,但我不知道如何解决这个问题... 以下是我的代码:

Navbar.js

import React from 'react'
import styled from 'styled-components'
import { FcSurvey } from 'react-icons/fc'

const Nav = () => {
    (
        <Wrapper>
            <Logo>
                <FcSurvey />
            </Logo>
            <h1>CV Builder</h1>
        </Wrapper>
    )
}

const Wrapper = styled.nav`
    display: flex;
    align-items: center;
    padding: 2rem;
    background-color: black;
    color: white;
`;

const Logo = styled.div`
    display: flex;
    margin: 1rem;
    font-size: 4rem;
`;

export default Nav

App.js

import React from 'react'
import Nav from './Components/Navbar'

const App = () => (
  <Nav />
)

export default App;


Index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

我真的不知道我做错了什么,如果有人可以帮助我,我会非常感激。

2 个答案:

答案 0 :(得分:0)

您的功能组件应该返回您的 JSX。像这样改变你的导航。

arrow functions 的注意事项:如果您的函数体包含在 {} 中,您必须明确地编写一个 return 语句。

const Nav = () => {
   return (
        <Wrapper>
            <Logo>
                <FcSurvey />
            </Logo>
            <h1>CV Builder</h1>
        </Wrapper>
    )
}

答案 1 :(得分:0)

所有钩子都遵循这个语法

const Nav = () => {
    return(
        <Wrapper />
        {/*Your JSX*/}
    )
}

export default Nav