Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
Reactjs 路由器链接在mouseenter事件上不起作用_Reactjs_React Router - Fatal编程技术网

Reactjs 路由器链接在mouseenter事件上不起作用

Reactjs 路由器链接在mouseenter事件上不起作用,reactjs,react-router,Reactjs,React Router,路由器链接mouseenter事件不起作用。当我将光标放在路由器链接上时,它不会更改路由。我的路由器链接工作正常,但我想处理mouseenter事件。请给我建议一个解决这个问题的方法 import React, { Component } from 'react'; import { browserHistory } from "react-router"; import createHistory from "history/createBrowserHistory";

路由器链接mouseenter事件不起作用。当我将光标放在路由器链接上时,它不会更改路由。我的路由器链接工作正常,但我想处理mouseenter事件。请给我建议一个解决这个问题的方法

import React, { Component } from 'react';
    import { browserHistory } from "react-router";
    import createHistory from "history/createBrowserHistory";
    import ToggleDisplay from 'react-toggle-display';
     import './App.css';
    import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
    import Example from './Example.js';
    import About from "./About.js"; 
    import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    import PropTypes from "prop-types";

    class App extends Component {
      constructor(props) {
        super(props);
        this.onNavigateHome = this.onNavigateHome.bind(this);
      }

      onNavigateHome() {
        this.props.history.push('/about');
      }
      render() {
        return <div className="App">
            <Router >
              <div>
                <ul>
                  <li>
                    <Link to="/">Home</Link>
                  </li>
                  <li>
                    <Link to="/about" onMouseEnter={this.onNavigateHome.bind(this)}>
                      About
                    </Link>
                  </li>

                </ul>

                <hr />

                <Route exact path="/" component={Example} />
                <Route path="/about" component={About} />
              </div>
            </Router>
            <Example />
          </div>;
      }
    }

    export default App;
import React,{Component}来自'React';
从“react router”导入{browserHistory};
从“历史记录/createBrowserHistory”导入createHistory;
从“反应切换显示”导入切换显示;
导入“/App.css”;
导入“./node_模块/bootstrap/dist/css/bootstrap.min.css”;
从“/Example.js”导入示例;
从“/About.js”导入关于;
从“react Router dom”导入{BrowserRouter as Router,Route,Link};
从“道具类型”导入道具类型;
类应用程序扩展组件{
建造师(道具){
超级(道具);
this.onNavigateHome=this.onNavigateHome.bind(this);
}
onNavigateHome(){
this.props.history.push('/about');
}
render(){
返回
  • 关于

; } } 导出默认应用程序;
React路由器的链接设计为点击事件,而不是鼠标进入事件。你可以用另一种方法,在鼠标输入时使用状态改变。下面是一个伪代码

  changeState(){
    if (!this.state.entered) {
      // window.location.href='/newResource';
      this.props.history.push('/about');
    }
    this.setState({ entered : !this.state.entered });
  }

  render() {

    return (<Router>
      <span role="link" onMouseEnter={this.changeState}>
        Link
      </span>
    </Router>);
  }
changeState(){
如果(!this.state.entered){
//window.location.href='/newResource';
this.props.history.push('/about');
}
this.setState({entered:!this.state.entered});
}
render(){
返回(
链接
);
}