react: navigator
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的更多相关文章
- React Native之 Navigator与NavigatorIOS使用
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- [转] 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 ...
- React Native填坑之旅 -- 使用react-navigation代替Navigator
Navigator已经被React Native废弃了.也许你可以在另外的一个依赖库里react-native-deprecated-custom-components里找到.不过既然官方推荐的是re ...
- React Native之Navigator
移动应用很少只包含一个页面.从你添加第二个页面开始,就得考虑如何管理多个页面间的跳转了. 导航器正是为此而生.它可以管理多个页面间的跳转,也包含了一些常见的过渡动画,包括水平翻页.垂直弹出等等. Na ...
- React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方
以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation react-native ...
- React Native学习之自定义Navigator
Navigator还是最常用的组件, 所以自己封装了一个, 使用起来也比较简单, 如下: 首先导入组件 var MLNavigator = require('../Lib/MLNavigator'); ...
- react native的Navigator组件示例
import React, {Component} from 'react';import {ScrollView, StyleSheet, Text, View, PixelRatio} from ...
- React Native导航器Navigator
React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...
- React Native商城项目实战03 - 包装Navigator
1.在Home目录下新建首页详细页HomeDetail.js /** * 首页详情页 */ import React, { Component } from 'react'; import { App ...
随机推荐
- error:No resource found that matches the given name 'Theme.AppCompat.Light'
一.stsckoverflow http://stackoverflow.com/questions/17870881/cant-find-theme-appcompat-light-for-new- ...
- python3条件表达式和字符串
1.布尔表达式 布尔表达式的值只有两个:真和假.在python中,真值为1,假值为0 2.逻辑操作符 三种逻辑操作:and.or.not 3.条件语句 if. if...else.if...elif. ...
- go——接口(二)
多态是指代码可以根据类型的具体实现采取不同行为的能力. 如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值. 标准库里有很好的例子,如io包里实现的流式处理接口. io包提供了 ...
- Django:学习笔记(2)——创建第一个应用
Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...
- c++中指针作为函数参数的详细理解
在C语言中,函数的参数不仅可以是整数.小数.字符等具体的数据,还可以是指向它们的指针.用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着 ...
- 【JavaScript】用JS绘制一个球
参考: 1.http://www.w3school.com.cn/html5/html_5_canvas.asp 2.http://blog.csdn.net/qq_27626333/article/ ...
- jQuery全屏图片焦点图
在线演示 本地下载
- dubbo应用
一.安装配置 cd /usr/local/ wget http://www.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar. ...
- System.load 和 System.loadLibrary详解
System.load 和 System.loadLibrary详解 1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件.在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI ...
- 混合开发的大趋势之 一个Android程序员眼中的 React.js 块级作用域 和 let
转载请注明出处:王亟亟的大牛之路 最近都有事干然后,快到月底了这个月给CSDN的博文也就两篇,想想也蛮多天没更了,那就来一篇. 老规矩,先安利:https://github.com/ddwhan012 ...