import React, {Component} from 'react';
import { NavLink,Link } from "react-router-dom";
import './index.less';
import PropTypes from 'prop-types'; //这里是重点 import logo from '../../images/hyzklogo.png';
import logoName from '../../images/logo_name.png'; export default class Header extends Component {
static contextTypes = { //这里是重点
router: PropTypes.object.isRequired,
}
constructor(props) {
super(props);
this.state = {
keyword:""
};
this.handleToSearch=this.handleToSearch.bind(this);
this.handleChange=this.handleChange.bind(this);
}
handleChange(event) {
this.setState({keyword: event.target.value});
}
handleToSearch() { this.context.router.history.push(`/news_list/search/${this.state.keyword}`) //这里是重点,实现跳转
}
render() {
return (
<div className="wrapper">
<div className="header">
<div className="logo-bar">
<div className="container">
<Link to="/index"><img src={logo} alt="智库logo" className="logo" /></Link>
<Link to="/index"><img src={logoName} alt="智库" className="logo-name" /></Link>
<div className="search-bar">
<input type="text" placeholder="搜索感兴趣的军事资讯" value={this.state.keyword} onChange={this.handleChange}/>
<div onClick={this.handleToSearch}>
<i className="iconfont icon-sousuo"></i>
</div>
</div>
</div>
</div>
<div className="header-bar">
<div className="container">
<ul>
<li>
<NavLink to="/" exact activeClassName="nav-active">首页</NavLink>
</li>
<li>
<NavLink to="/intro" activeClassName="nav-active">智库概况</NavLink>
</li>
<li>
<NavLink to="/professor_list" activeClassName="nav-active">专家团队</NavLink>
</li>
</ul>
</div>
</div>
</div>
</div>
);
}
}

react-router 4.3 js实现跳转的更多相关文章

  1. [Redux] Navigating with React Router <Link>

    We will learn how to change the address bar using a component from React Router. In Root.js: We need ...

  2. React Router 4.x 开发,这些雷区我们都帮你踩过了

    前言 在前端框架层出不穷的今天,React 以其虚拟 DOM .组件化开发思想等特性迅速占据了主流位置,成为前端开发工程师热衷的 Javascript 库.作为 React 体系中的重要组成部分:Re ...

  3. React Router教程

    React Router教程 React项目的可用的路由库是React-Router,当然这也是官方支持的.它也分为: react-router 核心组件 react-router-dom 应用于浏览 ...

  4. react router @4 和 vue路由 详解(全)

    react router @4 和 vue路由 本文大纲: 1.vue路由基础和使用 2.react-router @4用法 3.什么是包容性路由?什么是排他性路由? 4.react路由有两个重要的属 ...

  5. React Router学习

    React Router教程 本教程引用马伦老师的的教程 React项目的可用的路由库是React-Router,当然这也是官方支持的.它也分为: react-router 核心组件 react-ro ...

  6. 试着用React写项目-利用react-router解决跳转路由等问题(二)

    转载请注明出处:王亟亟的大牛之路 这一篇还是继续写react router相关的内容,废话之前先安利:https://github.com/ddwhan0123/Useful-Open-Source- ...

  7. React+React Router+React-Transition-Group实现页面左右滑动+滚动位置记忆

    2018年12月17日更新: 修复在qq浏览器下执行pop跳转时页面错位问题 本文的代码已封装为npm包发布:react-slide-animation-router 在React Router中,想 ...

  8. 从 React Router 谈谈路由的那些事

    React Router 是专为 React 设计的路由解决方案,在使用 React 来开发 SPA (单页应用)项目时,都会需要路由功能,而 React Router 应该是目前使用率最高的. Re ...

  9. React初识整理(四)--React Router(路由)

    官网:https://reacttraining.com/react-router 后端路由:主要做路径和方法的匹配,从而从后台获取相应的数据 前端路由:用于路径和组件的匹配,从而实现组件的切换. 如 ...

  10. React Router简单Demo

    简介 react router是使用react的时候首选的一个路由工具. 安装 react router包含react-router,react-router-dom和react-router-nat ...

随机推荐

  1. [Struts2]配置文件

    摘要 在struts2中,有多个配置文件properties或者xml文件,那么它们的加载顺序是怎样的? 配置文件 struts2有以下几种配置文件,并按以下顺序加载 1.default.proper ...

  2. Mybatis 中遍历map 参数中的 list 和 array 属性

    原文:https://blog.csdn.net/liudongdong0909/article/details/51048835 问题在项目有中遇到批量删除操作时,需要根据两个属性去删除数据,其中一 ...

  3. IIS6 2.0 4.0 冲突解决 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\xxx' -- 'Access is denied. '

    今天在阿里云虚拟机上部署新站点后出现下面的错误: Compiler Error Message: CS0016: Could not write to output file 'c:\Windows\ ...

  4. html-轮播图

    <!DOCTYPE html> <html> <head> <title>纯CSS代码实现图片轮播 </title> <meta ch ...

  5. Hadoop3集群搭建之——hbase安装及简单操作

    折腾了这么久,hbase终于装好了 ------------------------- 上篇: Hadoop3集群搭建之——虚拟机安装 Hadoop3集群搭建之——安装hadoop,配置环境 Hado ...

  6. 原创:vsphere概念深入系列二:vSphere交换机命令行查看排错

    1.如何查看VM的IP Addresses, MAC Addresses, Uplink ports, Port ID,VSS/VDS,portgroup,DVPort Group,vmnic Upl ...

  7. C# Chart使用总结 2 ----属性

    默认显示如图所示,Series的名称显示在右边,它会将下方空间挤掉,使图表只能显示在左侧,而右侧大部分地方都是空白的.当图很宽的时候看着会很不舒服.   可以设置Legends 集合中的Docking ...

  8. nginx启动常遇到的问题

    问题1: nginx: [emerg] open() "/opt/soft/nginx/mime.types" failed (2: No such file or directo ...

  9. 如何制作initrd.img文件

    2008-11-12 16:02:37    initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件.镜像中是一个微型系统.在安装系统时,将initrd.img展开 ...

  10. 基于Centos搭建Jenkins 环境搭建

    系统要求: CentOS 7.2 64 位操作系统 安装 Jenkins Jenkins 简介 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提 ...