gpt4 book ai didi

javascript - ES6+React,错误 :React. createElement : type should not be null, 未定义、 bool 值或数字

转载 作者:行者123 更新时间:2023-12-03 06:22:29 24 4
gpt4 key购买 nike

使用 ES6 学习 ReactJS。尝试实现 React-Bootstrap 组件。我也在使用 react 路由器。我正在尝试实现导航栏组件。

它只是一个带有品牌和搜索框的浏览器。我的目标是更多地扩展和使用搜索框组件,因此我将其放在下面自己的单独组件中。

LocationSearchBox.js

import React, {PropTypes} from 'react'
import Form, {FormGroup, FormControl} from 'react-bootstrap'

export default function LocationSearchBox(props) {
return (
<FormGroup>
<FormControl type="text" placeholder="Search" />
<Button bsStyle="success" type="submit">Submit</Button>
</FormGroup>
)
}

导航器将出现在所有页面上,因此我将其放在最顶层的路由中,其组件是下面所示的 Main.js 文件以及用于管理客户端路由的routes.js。

import React, {Component} from 'react';
import {Navbar, NavbarHeader, NavbarBrand, NavbarCollapse} from 'react-bootstrap';
import {default as Search} from './LocationSearchBox'

export default class Main extends Component{

constructor(props) {
super(props);
this.props = props;
}

render() {
return(
<Navbar>
<NavbarHeader>
<NavbarBrand>
<a href="#">React-Bootstrap</a>
</NavbarBrand>
</NavbarHeader>
<NavbarCollapse>
<Search/>
</NavbarCollapse>
</Navbar>

)
}

}

routes.js

import React from 'react';
import ReactRouter, {Router, Route, IndexRoute, browserHistory} from 'react-router';
import Main from '../components/Main';

export var routes = (
<Router history={browserHistory}>
<Route path='/' component={Main} />

</Router>
);

下面是Index.js,是Webpack/babel中使用的入口文件

import React from 'react';
import ReactDOM from 'react-dom';
import {routes} from './config/routes';

ReactDOM.render(routes, document.getElementById('root'));

因此,当我运行 web pack-dev-server 时,请转到 localhost:8080 作为主路由应该访问的默认端口。我相信确实如此,但我收到了错误,即 3 个相同类型的错误。

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of `Main`.

我相信这可能是由于我在 Main.js 中导入导航栏组件的方式所致,例如 NavbarHeader、NavbarCollapse 等,但这只是一个猜测。我非常感谢您为解决此问题提供的任何帮助,谢谢。

最佳答案

您正在使用 Button 组件,但未导入它:

<Button bsStyle="success" type="submit">Submit</Button>

正确导入,问题应该得到解决。

关于javascript - ES6+React,错误 :React. createElement : type should not be null, 未定义、 bool 值或数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com