1、page js

import React from "react";
import {Link} from "react-router-dom";
import LoginUser from "service/login-service/LoginUser";
import "./index.scss"; const _loginUser = new LoginUser();
const isLogin = _loginUser.hasLogin(); const navItems = [];
const navigators = []; class Navigator extends React.Component { constructor(props) {
super(props);
this.state = {
currentType: props.nav
} } activeItemClass(item) {
return this.state.currentType === item.type ? 'active' : '';
} toState(item) {
this.setState({
currentType: item.type
});
} render() {
const navigator = (
<ul className="nav nav-tabs">
{navItems.map((item, index) => {
return (
<li key={'li_' + index} className={this.activeItemClass(item)}>
<Link to={item.state} onClick={() => this.toState(item)}>{navigators[item.type]}</Link>
</li>
)
}
)}
</ul>);
return (<div className="app-navigator">{isLogin ? navigator : null}</div>)
}
} export default Navigator;
import React from "react";
import {Link} from "react-router-dom";
import {connect} from "react-redux";
import MenuService from "service/MenuService";
import LoginUser from "service/login-service/LoginUser";
import {fetchMenuData} from "reduxModel/actions/MenuAction";
import "./index.scss"; const _menuService = new MenuService(); const _loginUser = new LoginUser();
const isLogin = _loginUser.hasLogin(); const mapStateToProps = state => {
return {
menuData: state.MenuReducer.data
}
};
const mapDispatchToProps = {
fetchMenuData: fetchMenuData,
}; class Navigator extends React.Component { constructor(props) {
super(props);
this.state = {
currentType: props.nav
} } componentDidMount() {
this.props.fetchMenuData();
} activeItemClass(item) {
return this.state.currentType === item.type ? 'active' : '';
} toState(item) {
this.setState({
currentType: item.type
});
} render() {
const {menuData} = this.props;
const navigator = (
<ul className="nav nav-tabs">
{menuData &&
_menuService.getModules(menuData.menuTree).map((item, index) => {
return (
<li key={'li_' + index} className={this.activeItemClass(item)}>
<Link to={item.state} onClick={() => this.toState(item)}>
{menuData.navigators[item.type]}
</Link>
</li>
)
}
)}
</ul>);
return (<div className="app-header-nav">{isLogin ? navigator : null}</div>)
}
} const NavigatorContainer = connect(
mapStateToProps,
mapDispatchToProps
)(Navigator); export default NavigatorContainer;

2、style

.app-header-nav {
position: relative;
width: $body-min-width;
margin: auto; .nav-tabs {
position: absolute;
right:;
bottom: 1px;
border-bottom: none; > li {
> a {
margin-right:;
border: $border;
border-right: none;
border-radius:;
outline: none;
background-color: $item-active-bg-color;
text-align: center; &:hover {
border-color: $border-color;
color: $title-color;
}
} &:last-child > a {
border-right: $border;
} & {
border-top: 3px solid $bg-color;
} &.active {
border-top: 3px solid $primary-color; > a {
&,
&:hover,
&:focus {
border-top-color: #fff;
border-bottom-color: #fff;
background-color: #fff;
color: $primary-color;
font-weight: bold;
}
} + li > a {
&,
&:hover,
&:focus {
border-left: none;
}
}
}
}
}
}

react: navigator的更多相关文章

  1. React Native之 Navigator与NavigatorIOS使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  2. [转] React Native Navigator — Navigating Like A Pro in React Native

    There is a lot you can do with the React Native Navigator. Here, I will try to go over a few example ...

  3. React Native填坑之旅 -- 使用react-navigation代替Navigator

    Navigator已经被React Native废弃了.也许你可以在另外的一个依赖库里react-native-deprecated-custom-components里找到.不过既然官方推荐的是re ...

  4. React Native之Navigator

    移动应用很少只包含一个页面.从你添加第二个页面开始,就得考虑如何管理多个页面间的跳转了. 导航器正是为此而生.它可以管理多个页面间的跳转,也包含了一些常见的过渡动画,包括水平翻页.垂直弹出等等. Na ...

  5. React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方

    以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation  react-native ...

  6. React Native学习之自定义Navigator

    Navigator还是最常用的组件, 所以自己封装了一个, 使用起来也比较简单, 如下: 首先导入组件 var MLNavigator = require('../Lib/MLNavigator'); ...

  7. react native的Navigator组件示例

    import React, {Component} from 'react';import {ScrollView, StyleSheet, Text, View, PixelRatio} from ...

  8. React Native导航器Navigator

    React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...

  9. React Native商城项目实战03 - 包装Navigator

    1.在Home目录下新建首页详细页HomeDetail.js /** * 首页详情页 */ import React, { Component } from 'react'; import { App ...

随机推荐

  1. Linux学习笔记—Linux磁盘与文件系统管理(转载)

    认识EXT2文件系统 文件的系统特性 Linux的正规文件系统为Ext2 文件数据除了文件实际内容外,还包括其他属性(文件权限.文件属性). 文件系统将这两部分数据分别存放在不同的块,权限和属性放在i ...

  2. R中apply函数族

    参考于:http://blog.fens.me/r-apply/ 1. apply的家族函数 2. apply函数 apply函数是最常用的代替for循环的函数.apply函数可以对矩阵.数据框.数组 ...

  3. 在PC上调试微信手机页面的三种方法

    场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开.而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试.这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不 ...

  4. Q35+uefi or bios+legacy // PCI | PCIE

    1:首先统一可扩展固件接口(UEFI)是一种规范定义操作系统和平台固件之间的软件接口. UEFI旨在替代基本输入/输出系统(BIOS)固件接口.(legacy) 硬件平台厂商越来越多地采用UEFI管理 ...

  5. JSP使用网站访问人数统计功能,方法与技巧

    实现网站访问人数统计功能的步骤: 创建静态登录页面,并指定表单提交由登录处理页面进行处理. 创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,把已登录用户的信息保存在一个 ...

  6. Part1.1 、RabbitMQ 操作使用

    本节目录: 一.最基本的生产者消费者二.acknowledgment 消息不丢失的方法. 三.durable 消息不丢失 (消息持久化) 四.消息获取顺序   RabbitMQ安装. (1.1).ce ...

  7. python16_day04【编码、函数、装饰器、包】

    一.编码总结 """python2 文件存储默认是ascii方式,启动加#coding:utf8就是文件以utf8方式打开.否则就是以ascii.变量则是str. 例子: ...

  8. php采集

    采集思路   采集程序的思路很简单大体可以分为以下几个步骤: 1. 获取远程文件源代码(file_get_contents或用fopen).    2.分析代码得到自己想要的内容(这里用正则匹配,一般 ...

  9. Cannot format given Object as a Date

    这个小错挺有意思的,记录一下 导出Excel的时候,同事直接用 format …… 前提:数据库中该字段是 Timestamp ---- 2016-06-20 22:49:02.967 写个测试说明一 ...

  10. Node.js API学习笔记(二)

    本文发表于本人博客. 上一节笔记说到创建Buffer实例,这节继续讲Buffer.本节讲解下Buffer的一些静态方法.写入以及读取方法. Buffer.isEncoding(编码)判断nodejs是 ...