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. python 自动获取(打印)代码中的变量的名字字串

    方法一: import inspectimport re def varname(p): for line in inspect.getframeinfo(inspect.currentframe() ...

  2. Hadoop的分布式架构改进与应用

    1.  背景介绍 谈到分布式系统,就不得不提到Google的三驾马车:GFS[1],MapReduce[2]和BigTable[3]. 虽然Google没有开源这三个技术的实现源码,但是基于这三篇开源 ...

  3. Jupyter Notebook修改目标文件

    默认的路径 如果没有修改配置文件,那么一般就在用户目录下面: 下面各处默认起始目标地址,以防有一天想改回来 I:\shujufenxi\python.exe I:\shujufenxi\cwp.py ...

  4. 解释一下python中的身份运算符

    通过身份运算符‘is’和‘is not’,我们可以确定两个值是否相同 ')#False print(True is not False)#True

  5. 前端 and css小技巧

    随意更改网页 重新格式化代码,解决缩进问题 https://q1mi.github.io/PythonBlog/post/about_frontend/ css margin: 0 auto 居中 文 ...

  6. JQuery Ajax调用WCF实例以及遇到的问题

    1.遇到的最多的问题就是跨域问题,这个时间需要我们添加如下代码解决跨域的问题 第一步:在服务类加Attribute [AspNetCompatibilityRequirements(Requireme ...

  7. NHibernate MappingException. No Persister

    在另一个Visual Studio项目(议会mm.k.Infrastructure)我有我的映射文件(一个映射目录),我的hibernate.cfg.xml和一些仓库. 这是我的映射文件: <? ...

  8. 关于 ActionBar、ToolBar、StatusBar 的开发经验整理

    一.ActionBar.ToolBar概述 1.1 ActionBar 1.2 ToolBar 1.3 StatusBar StatusBar 是一个半透明阴影,View 可以伸展到其后面. 1.4 ...

  9. HDU - 3829 Cat VS Dog (二分图最大独立集)

    题意:P个小朋友,每个人有喜欢的动物和讨厌的动物.留下喜欢的动物并且拿掉讨厌的动物,这个小朋友就会开心.问最多有几个小朋友能开心. 分析:对于每个动物来说,可能既有人喜欢又有人讨厌,那么这样的动物实际 ...

  10. 20162326 齐力锋 2017-2018学期 Bag类的补写博客

    要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进行单元测试(JUnit), ...