react学习笔记10:显示隐藏效果和tab切换效果

为什么80%的码农都做不了架构师?>>>   hot3.png

1.显示隐藏效果

显示隐藏就需要结合我们的react事件处理,一般的显示隐藏可以用css的display处理:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import registerServiceWorker from './registerServiceWorker';


//设置组件
class ShowHide extends React.Component {
	
	constructor(props) {
		super(props);
		// 设置 initial state
		this.state = {
			style: {display:"block",color:"red"}
		};
	
	}	
	
    showhide() {
	
		if(this.state.style.display==="block"){

			this.setState({style:{display:"none",color:"#000"}})
		}else{
			this.setState({style:{display:"block",color:"red"}})
		}
	}
	
	render() {
		return 
我被操作
} } ReactDOM.render(
, document.getElementById('root') ); registerServiceWorker();

非常简单,只要改变行内样式即可:

react学习笔记10:显示隐藏效果和tab切换效果_第1张图片

2.tab切换效果

其实tab切换不过是对显示隐藏效果的进一步扩展,我们改用操作类型切换处理这个效果,加一个状态计数:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import registerServiceWorker from './registerServiceWorker';


//设置组件
class Tab extends React.Component {
	
	constructor(props) {
		super(props);
		// 设置 initial state
		this.state = {
			index: 0
		};
	
	}	
	
    tab(arg1,event) {
		this.setState({index:arg1})
		
	}
	
	render() {
		return 
1 2 3
C1
C2
C3
} } ReactDOM.render(
, document.getElementById('root') ); registerServiceWorker();

index.css

.show{ display:block;}
.hide{ display:none;}

我们审查元素:

react学习笔记10:显示隐藏效果和tab切换效果_第2张图片

3.循环json数据生成结构的tab切换

我们有这样一个json数据:

	constructor(props) {
		super(props);
		// 设置 initial state
		this.state = {
			index: 0,
			json:[
				{title:"1",con:"C1"},
				{title:"2",con:"C2"},
				{title:"3",con:"C3"},
				{title:"4",con:"C4"},
				{title:"5",con:"C5"}
			]
		};
	
	}	

把传递的参数写活即可:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import registerServiceWorker from './registerServiceWorker';


//设置组件
class Tab extends React.Component {
	
	constructor(props) {
		super(props);
		// 设置 initial state
		this.state = {
			index: 0,
			json:[
				{title:"1",con:"C1"},
				{title:"2",con:"C2"},
				{title:"3",con:"C3"},
				{title:"4",con:"C4"},
				{title:"5",con:"C5"}
			]
		};
	
	}	
	
    tab(arg1,event) {
		this.setState({index:arg1})
		
	}
	
	render() {
		
		var arrtitle=[];
		var arrcon=[];
		for(var i=0;i{this.state.json[i].title});
			arrcon.push(
{this.state.json[i].con}
); } return
{arrtitle}
{arrcon}
} } ReactDOM.render(
, document.getElementById('root') ); registerServiceWorker();

 

转载于:https://my.oschina.net/tbd/blog/1544759

你可能感兴趣的:(react学习笔记10:显示隐藏效果和tab切换效果)