首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图使react引导示例正常工作。

试图使react引导示例正常工作。
EN

Stack Overflow用户
提问于 2016-12-20 20:20:19
回答 1查看 1.5K关注 0票数 1

我正在尝试使用来自https://react-bootstrap.github.io/components.html#navbars的代码使最基本的响应导航条工作。

当我运行这个应用程序时,下拉列表是垂直对齐的(并且很乱),当单击时,下拉列表不会关闭。

有人看到明显的东西了吗?或者您能告诉我一个准备好的存储库(希望使用ES6、jsx和最新的依赖项)。

package.json

代码语言:javascript
运行
复制
{
  "name": "react-bootstrap-example",
  "version": "0.0.0",
  "description": "React-Bootstrap example",
  "main": "index.js",
  "scripts": {
    "build": "webpack",
    "watch": "webpack -w"
  },
  "author": "",
  "license": "",
  "devDependencies": {
    "babel": "^5.8.23",
    "babel-core": "^5.8.23",
    "babel-loader": "^5.3.2",
    "bootstrap": "^3.3.7",
    "css-loader": "^0.16.0",
    "file-loader": "^0.8.4",
    "less": "^2.5.1",
    "less-loader": "^2.2.0",
    "react-bootstrap": "^0.30.7",
    "style-loader": "^0.12.3",
    "webpack": "^1.12.0"
  },
  "dependencies": {
    "react": "^0.13.3",
    "react-dom": "^0.14.7"
  }
}

index.html

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <title>React-Bootstrap Responsive Navbar</title>
</head>
<body>
    <div id='app'></div>
    <script src='public/bundle.js'></script>
</body>
</html>

wbpack.confg.babel.js

代码语言:javascript
运行
复制
import webpack from 'webpack';
import path from 'path';

export default {
  entry: './src/App.js',
  output: {
    path: path.join(__dirname, 'public'),
    filename: 'bundle.js',
    publicPath: 'public/'
  },
  module: {
    loaders: [
      // Used for compiling ES2015 JavaScript
      { test: /\.js/, loader: 'babel' },
      // Used for Bootstrap Less Source Files
      { test: /\.less/, loader: 'style!css!less' },
      // Used for Bootstrap Less Source Files
      { test: /\.css/, loader: 'style!css' },
      // Used for Bootstrap Glyphicon Fonts
      { test: /\.(woff2|woff|ttf|svg|eot)$/, loader: 'file' }
    ]
  }
};

App.js

代码语言:javascript
运行
复制
import React from 'react';
import 'bootstrap/less/bootstrap.less';

import HeaderNavigation from './HeaderNavigation'; 

React.render(
  <div>
    <HeaderNavigation />
  </div>
  , document.getElementById('app'));

HeaderNavigation.js

代码语言:javascript
运行
复制
import React from 'react';
import Navbar from 'react-bootstrap/lib/Navbar';
import Nav from 'react-bootstrap/lib/Nav';
import NavItem from 'react-bootstrap/lib/NavItem';
import NavDropdown from 'react-bootstrap/lib/NavDropdown';
import MenuItem from 'react-bootstrap/lib/MenuItem';
import FormGroup from 'react-bootstrap/lib/FormGroup';
import InputGroup from 'react-bootstrap/lib/InputGroup';
import FormControl from 'react-bootstrap/lib/FormControl';
import Button from 'react-bootstrap/lib/Button';

export default class HeaderNavigation extends React.Component {
  render() {
    let brand = <a href='#'>Project Name</a>;
    return (
      <Navbar inverse collapseOnSelect>
        <Navbar.Header>
          <Navbar.Brand>
            <a href="#">React-Bootstrap</a>
          </Navbar.Brand>
          <Navbar.Toggle />
        </Navbar.Header>
        <Navbar.Collapse>
          <Nav>
            <NavItem eventKey={1} href="#">Link</NavItem>
            <NavItem eventKey={2} href="#">Link</NavItem>
            <NavDropdown eventKey={3} title="Dropdown" id="basic-nav-dropdown">
              <MenuItem eventKey={3.1}>Action</MenuItem>
              <MenuItem eventKey={3.2}>Another action</MenuItem>
              <MenuItem eventKey={3.3}>Something else here</MenuItem>
              <MenuItem divider />
              <MenuItem eventKey={3.3}>Separated link</MenuItem>
            </NavDropdown>
          </Nav>
          <Nav pullRight>
            <NavItem eventKey={1} href="#">Link Right</NavItem>
            <NavItem eventKey={2} href="#">Link Right</NavItem>
          </Nav>
        </Navbar.Collapse>
      </Navbar>
   );
 }
}
EN

Stack Overflow用户

发布于 2016-12-21 12:00:21

我让它像这样工作。我创建一个组件并将其命名为top_bar.js

代码语言:javascript
运行
复制
import React, { Component } from 'react';
import Navbar from 'react-bootstrap/lib/Navbar';
import Nav from 'react-bootstrap/lib/Nav';
import NavItem from 'react-bootstrap/lib/NavItem';
import NavDropdown from 'react-bootstrap/lib/NavDropdown';
import MenuItem from 'react-bootstrap/lib/MenuItem';
import FormGroup from 'react-bootstrap/lib/FormGroup';
import InputGroup from 'react-bootstrap/lib/InputGroup';
import FormControl from 'react-bootstrap/lib/FormControl';
import Button from 'react-bootstrap/lib/Button';

class NavBar extends Component {

render(){

    return (

          <Navbar>
            <Navbar.Header>
              <Navbar.Brand>
                <a href="#">React-Bootstrap</a>
              </Navbar.Brand>
            </Navbar.Header>
            <Nav>
              <NavItem eventKey={1} href="#">Link</NavItem>
              <NavItem eventKey={2} href="#">Link</NavItem>
              <NavDropdown eventKey={3} title="Dropdown" id="basic-nav-dropdown">
                <MenuItem eventKey={3.1}>Action</MenuItem>
                <MenuItem eventKey={3.2}>Another action</MenuItem>
                <MenuItem eventKey={3.3}>Something else here</MenuItem>
                <MenuItem divider />
                <MenuItem eventKey={3.3}>Separated link</MenuItem>
              </NavDropdown>
            </Nav>
          </Navbar>
    );

 };
}


export default NavBar;

然后在我的app.js中,我像这样调用组件

代码语言:javascript
运行
复制
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import NavBar from './top_bar';

export default class App extends Component {


render() {
    return (
        <div>
            <div>
                <NavBar/>
            </div>
        </div>
    );
}

}

希望能帮上忙!

更新

WebPack Config

代码语言:javascript
运行
复制
module.exports = {
entry: [
'./src/index.js'
],
output: {
path: __dirname,
publicPath: '/',
filename: 'bundle.js'
},
module: {
loaders: [{
  exclude: /node_modules/,
  loader: 'babel',
  query: {
    presets: ['react', 'es2015', 'stage-1']
  }
  }]
  },
 resolve: {
 extensions: ['', '.js', '.jsx']
 },
 devServer: {
 historyApiFallback: true,
 contentBase: './'
 }
 };

Package.json

代码语言:javascript
运行
复制
{
"name": "redux-simple-starter",
"version": "1.0.0",
"description": "Simple starter package for Redux with React and Babel    support",
"main": "index.js",
"repository": "git@github.com:StephenGrider/ReduxSimpleStarter.git",
"scripts": {
"start": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js",
"test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test",
"test:watch": "npm run test -- --watch"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
 "babel-core": "^6.2.1",
 "babel-loader": "^6.2.0",
 "babel-preset-es2015": "^6.1.18",
 "babel-preset-react": "^6.1.18",
 "chai": "^3.5.0",
 "chai-jquery": "^2.0.0",
 "jquery": "^2.2.1",
 "jsdom": "^8.1.0",
 "mocha": "^2.4.5",
 "react-addons-test-utils": "^0.14.7",
 "webpack": "^1.12.9",
 "webpack-dev-server": "^1.14.0"
 },
"dependencies": {
"2": "0.0.1",
"axios": "^0.15.2",
"babel-preset-stage-1": "^6.1.18",
"firebase": "^3.6.4",
"history": "^4.4.0",
"lodash": "^3.10.1",
"muicss": "^0.9.7",
"pug": "^2.0.0-beta6",
"react": "^0.14.3",
"react-bootstrap": "^0.30.7",
"react-dom": "^0.14.3",
"react-redux": "^4.0.0",
"react-router": "^2.8.1",
"redux": "^3.0.4",
"redux-devtools-extension": "^1.0.0",
"redux-thunk": "^2.1.0"
}
}  
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41250633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档