【问题标题】:React error - Element type is invalid: expected a string (for built-in components) or a class/function反应错误 - 元素类型无效:需要一个字符串(对于内置组件)或一个类/函数
【发布时间】:2018-02-09 21:53:02
【问题描述】:

我是新手,不明白我遇到的这个错误:

这是我的菜单的渲染方法:

render() {
        return (
            <div>
                <Navbar color="faded" light expand="md">
                    <NavbarBrand href="/">Nomad Press</NavbarBrand>
                    <NavbarToggler onClick={this.toggle} />
                    <Collapse isOpen={this.state.isOpen} navbar>
                        <Nav className="ml-auto" navbar>
                            <NavItem>
                                <NavLink tag={Link} to="/Home">Home</NavLink>
                            </NavItem>
                            <NavItem>
                                <NavLink href="https://github.com/reactstrap/reactstrap">Github</NavLink>
                            </NavItem>
                            <UncontrolledDropdown nav inNavbar>
                                <DropdownToggle nav caret>
                                    Options
                                </DropdownToggle>
                                <DropdownMenu >
                                    <DropdownItem>
                                        Option 1
                                    </DropdownItem>
                                    <DropdownItem>
                                        Option 2
                                    </DropdownItem>
                                    <DropdownItem divider />
                                    <DropdownItem>
                                        Reset
                                    </DropdownItem>
                                </DropdownMenu>
                            </UncontrolledDropdown>
                        </Nav>
                    </Collapse>
                </Navbar>
            </div>
        );
    }

我仔细检查了我的导入并确保已安装软件包。我看不出我的渲染方法有什么问题。

编辑

这是我为菜单导入的内容:

import React from 'react';
import { Collapse,
    Navbar,
    NavbarToggler,
    NavbarBrand,
    Nav,
    NavItem,
    NavLink,
    UncontrolledDropdown,
    DropdownToggle,
    DropdownMenu,
    DropdownItem } from 'bootstrap';
import { Link } from 'react-router-dom';

删除Link 周围的括号时出现以下错误。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    您的渲染方法没有问题,但可能与您的导入有关。通常命名导入与默认导入会导致此问题,所以

    import Navbar from 'somelibrary';
    

    对比

    import {Navbar} from 'somelibrary';
    

    所以你需要知道你使用的库是如何导出它的组件的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-06
      • 2021-01-18
      • 2021-09-16
      • 2020-11-12
      • 2017-11-29
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多