Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;您不应该使用<;链接>;a<;路由器>&引用;甚至连链路都在路由器内部_Javascript_Reactjs_React Router Dom_React Dom - Fatal编程技术网

Javascript &引用;您不应该使用<;链接>;a<;路由器>&引用;甚至连链路都在路由器内部

Javascript &引用;您不应该使用<;链接>;a<;路由器>&引用;甚至连链路都在路由器内部,javascript,reactjs,react-router-dom,react-dom,Javascript,Reactjs,React Router Dom,React Dom,我正在学习React中的路由系统。我检查了我的代码中的所有内容,它似乎是正确的,但我不知道为什么它不起作用 版本: "react-router-dom": "4.2.2", "react": "^16.8.4", index.js 我们从index.js转到App.js import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; impor

我正在学习React中的路由系统。我检查了我的代码中的所有内容,它似乎是正确的,但我不知道为什么它不起作用

版本:

"react-router-dom": "4.2.2",
"react": "^16.8.4",
index.js

我们从index.js转到App.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';

import 'bootstrap/dist/css/bootstrap.min.css';
import 'font-awesome/css/font-awesome.css';
import 'bootstrap-social/bootstrap-social.css';

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

serviceWorker.unregister();
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
从“./App”导入应用程序;
将*作为serviceWorker从“/serviceWorker”导入;
导入'bootstrap/dist/css/bootstrap.min.css';
导入'font-awesome/css/font-awesome.css';
导入“bootstrap social/bootstrap social.css”;
ReactDOM.render(,document.getElementById('root'));
serviceWorker.unregister();
App.js

我们在App.js中实现了BrowserRouter

import React, { Component } from 'react';
import { BrowserRouter} from 'react-router-dom';

import Main from './components/MainComponent';

import './App.css';
import { DISHES } from './shared/dishes';

class App extends Component {

  constructor(props) {
    super(props);
    this.state = {
      dishes: DISHES
    };
  }

  render() {
    return (
      <BrowserRouter>
        <div className="App">
          <Main />
        </div>
      </BrowserRouter>
    );
  }
}

export default App;
import React,{Component}来自'React';
从“react router dom”导入{BrowserRouter};
从“/components/MainComponent”导入主组件;
导入“/App.css”;
从“./shared/disks”导入{disks};
类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
菜品:菜品
};
}
render(){
返回(
);
}
}
导出默认应用程序;
MainComponent.js

我们在MainComponent.js中定义路由

import React, { Component } from 'react';
import { Switch, Route, Redirect } from 'react-router-dom';

import Header from './HeaderComponent';
import Footer from './FooterComponent';
import Menu from './MenuComponent';
import Home from './HomeComponent';

import { DISHES } from '../shared/dishes';

class Main extends Component {

  constructor(props) {
    super(props);
    this.state = {
        dishes: DISHES
    };
  }

  render() {
    const HomePage = () => {
      return(
          <Home />
      );
    }

    return (
      <div>
        <Header />
        <Switch>
          <Route path='/home' component={HomePage} />
          <Route exact path='/menu' component={() => <Menu dishes={this.state.dishes} />} />
          <Redirect to="/home" />
        </Switch>
        <Footer />
      </div>
    );
  }
}

export default Main;
import React, { Component } from 'react';
import { Nav, Navbar, NavbarBrand, NavbarToggler, Collapse, NavItem, Jumbotron } from 'reactstrap';
import { NavLink } from 'react-router-dom';
class Header extends Component {
    constructor(props) {
        super(props);

        this.toggleNav = this.toggleNav.bind(this);
        this.state = {
          isNavOpen: false
        };
      }

      toggleNav() {
        this.setState({
          isNavOpen: !this.state.isNavOpen
        });
      }

    render() {
        return(
            <div>
                <Navbar dark expand="md">
                    <div className="container">
                        <NavbarToggler onClick={this.toggleNav} />
                        <NavbarBrand className="mr-auto" href="/"><img src='assets/images/logo.png' height="30" width="41" alt='Ristorante Con Fusion' /></NavbarBrand>
                        <Collapse isOpen={this.state.isNavOpen} navbar>
                            <Nav navbar>
                              <NavItem>
                                  <NavLink className="nav-link"  to='/home'><span className="fa fa-home fa-lg"></span> Home</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link" to='/aboutus'><span className="fa fa-info fa-lg"></span> About Us</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link"  to='/menu'><span className="fa fa-list fa-lg"></span> Menu</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link" to='/contactus'><span className="fa fa-address-card fa-lg"></span> Contact Us</NavLink>
                              </NavItem>
                            </Nav>
                        </Collapse>
                    </div>
                </Navbar>
                <Jumbotron>
                    <div className="container">
                        <div className="row row-header">
                            <div className="col-12 col-sm-6">
                                <h1>Ristorante con Fusion</h1>
                                <p>We take inspiration from the World's best cuisines, and create a unique fusion experience. Our lipsmacking creations will tickle your culinary senses!</p>
                            </div>
                        </div>
                    </div>
                </Jumbotron>
            </div>
        );
    }
}
export default Header;
import React,{Component}来自'React';
从“react router dom”导入{交换机、路由、重定向};
从“./HeaderComponent”导入标题;
从“/FooterComponent”导入页脚;
从“/MenuComponent”导入菜单;
从“/HomeComponent”导入主目录;
从“../shared/disks”导入{disks};
类主扩展组件{
建造师(道具){
超级(道具);
此.state={
菜品:菜品
};
}
render(){
const主页=()=>{
返回(
);
}
返回(
} />
);
}
}
导出默认主;
HeaderComponent.js

导航栏,HeaderComponent.js中的导航

import React, { Component } from 'react';
import { Switch, Route, Redirect } from 'react-router-dom';

import Header from './HeaderComponent';
import Footer from './FooterComponent';
import Menu from './MenuComponent';
import Home from './HomeComponent';

import { DISHES } from '../shared/dishes';

class Main extends Component {

  constructor(props) {
    super(props);
    this.state = {
        dishes: DISHES
    };
  }

  render() {
    const HomePage = () => {
      return(
          <Home />
      );
    }

    return (
      <div>
        <Header />
        <Switch>
          <Route path='/home' component={HomePage} />
          <Route exact path='/menu' component={() => <Menu dishes={this.state.dishes} />} />
          <Redirect to="/home" />
        </Switch>
        <Footer />
      </div>
    );
  }
}

export default Main;
import React, { Component } from 'react';
import { Nav, Navbar, NavbarBrand, NavbarToggler, Collapse, NavItem, Jumbotron } from 'reactstrap';
import { NavLink } from 'react-router-dom';
class Header extends Component {
    constructor(props) {
        super(props);

        this.toggleNav = this.toggleNav.bind(this);
        this.state = {
          isNavOpen: false
        };
      }

      toggleNav() {
        this.setState({
          isNavOpen: !this.state.isNavOpen
        });
      }

    render() {
        return(
            <div>
                <Navbar dark expand="md">
                    <div className="container">
                        <NavbarToggler onClick={this.toggleNav} />
                        <NavbarBrand className="mr-auto" href="/"><img src='assets/images/logo.png' height="30" width="41" alt='Ristorante Con Fusion' /></NavbarBrand>
                        <Collapse isOpen={this.state.isNavOpen} navbar>
                            <Nav navbar>
                              <NavItem>
                                  <NavLink className="nav-link"  to='/home'><span className="fa fa-home fa-lg"></span> Home</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link" to='/aboutus'><span className="fa fa-info fa-lg"></span> About Us</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link"  to='/menu'><span className="fa fa-list fa-lg"></span> Menu</NavLink>
                              </NavItem>
                              <NavItem>
                                  <NavLink className="nav-link" to='/contactus'><span className="fa fa-address-card fa-lg"></span> Contact Us</NavLink>
                              </NavItem>
                            </Nav>
                        </Collapse>
                    </div>
                </Navbar>
                <Jumbotron>
                    <div className="container">
                        <div className="row row-header">
                            <div className="col-12 col-sm-6">
                                <h1>Ristorante con Fusion</h1>
                                <p>We take inspiration from the World's best cuisines, and create a unique fusion experience. Our lipsmacking creations will tickle your culinary senses!</p>
                            </div>
                        </div>
                    </div>
                </Jumbotron>
            </div>
        );
    }
}
export default Header;
import React,{Component}来自'React';
从“reactstrap”导入{Nav、Navbar、NavbarBrand、NavbarToggler、Collapse、NavItem、Jumbotron};
从'react router dom'导入{NavLink};
类头扩展组件{
建造师(道具){
超级(道具);
this.toggleNav=this.toggleNav.bind(this);
此.state={
isNavOpen:false
};
}
toggleNav(){
这是我的国家({
isNavOpen:!this.state.isNavOpen
});
}
render(){
返回(
家
关于我们
菜单
联系我们
Ristorante con Fusion
我们从世界上最好的菜肴中汲取灵感,创造出独特的融合体验。我们的唇彩创意将让您的烹饪感觉愉悦

); } } 导出默认标题;
欢迎来到Stack Overflow Billy Chan!这段代码中没有明显的错误。请在例如中创建一个,这样会更容易有人帮助您。是的,这似乎是一个有效的路由设置。。。。我总是觉得调试路由器是一种奇怪的经历,因为它总是非常明显,也很容易被忽视。你能找一个密码沙盒或什么东西来四处看看吗?这是我的代码。这很奇怪。这些代码似乎在沙箱中工作。但是,它无法在我的浏览器中工作。欢迎来到比利陈!这段代码中没有明显的错误。请在例如中创建一个,这样会更容易有人帮助您。是的,这似乎是一个有效的路由设置。。。。我总是觉得调试路由器是一种奇怪的经历,因为它总是非常明显,也很容易被忽视。你能找一个密码沙盒或什么东西来四处看看吗?这是我的代码。这很奇怪。这些代码似乎在沙箱中工作。但是,它无法在我的浏览器中工作。