react学习之props
中秋过后刚好结束在上一家公司的工作,明天开始要正式的找工作了,最近也投了几家公司收到几分面试邀请。在面试的过程中几个面试官聊到了react(当然也有聊了vue,angular)。感觉不懂react都不好意思找前端的工作了,其实我本人对react还是很有好感的无论是jsx还是对es6友好的支持都很吸引我所以平时也找些例子学习自己写几个小demo,但由于上家公司的项目中使用的是avalon2(后转vue)一直忙于项目的事半年没接触对所以对觉得react很陌生了。待业之际乘此机会重操(学)react。
props
react 组件化开发的思路(Component)一直被人称赞。其中父组件和子组件的通信就是通过props来传递的我看看props的几种用法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app" ></div>
<script src="./dist/js/bundle.js" ></script>
</body>
</html>
js文件
import React,{Component} from 'react';
import {render} from 'react-dom';
class MyComponent extends Component{
render(){
return(
<div>
<h1>{ this.props.name }</h1>
</div>
)
}
}
render(<MyComponent name="json" />,
document.querySelector("#app")
); //可以这样传递普通的传递方式
解构传递
import React,{Component} from 'react';
import {render} from 'react-dom';
const props = { //定义一个对象
name:'cqs',
age:'25'
}
class MyComponent extends Component{
render(){
return(
<div>
<h1>{ this.props.name }</h1>
<h1>{ this.props.age }</h1>
</div>
)
}
}
render(<MyComponent {...props} />, //对象解构传递
document.querySelector("#app")
);//还可以解构传递
props 不止可以传递对象还是传递方法
import React,{Component} from 'react';
import {render} from 'react-dom';
class SupComponent extends Component{
constructor(){
super();
this.state = {
number:0
}
}
handleAdd(){
this.setState({ number:++this.state.number}); //把方法放在父组件(控制器Controller)通过props传递给子组件,子组件触发调用父组件的state发生改变UI(View视图跟着变)
}
render(){
return(
<div>
<SubComponent handleAdd={ this.handleAdd.bind(this) } />
<p> { this.state.number } </p>
</div>
)
}
}
class SubComponent extends Component{
render(){
return(
<div>
<button onClick={ this.props.handleAdd } >普通按钮</button>
</div>
)
}
}
render( <SupComponent/>,document.querySelector("#app") );
react学习之props的更多相关文章
- React 学习(二) ---- props验证与默认属性
在上一节中, 我们提到了props, 组件之间数据的传递使用props. 我们调用组件时可以设置props, 组件内部通过props获取. 为了props 使用更加友好, React 提供了简单的验证 ...
- React学习笔记 - 组件&Props
React Learn Note 4 React学习笔记(四) 标签(空格分隔): React JavaScript 三.组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你 ...
- react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)
react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...
- React学习笔记(一) 基础知识
现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我. React的基 ...
- React学习系列
React学习系列 系列学习react 翻译地址 https://scotch.io/tutorials/learning-react-getting-started-and-concepts 我是初 ...
- react学习笔记1--基础知识
什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...
- react 学习与使用记录
相关技术:webpack+react+react-router+redux+immutable 郭永峰react学习指南 1.git bash--windows命令行工具 --教程 下载地址 2. i ...
- React学习笔记-03 state
每一个组件都有状态,比如一个开关,开 和 关,都是一种state.那么react是怎么管理它的state的? React 把用户界面当做状态机,可以轻松的让用户界面和数据保持一致.用户只需要更新组件的 ...
- 【react学习】关于react框架使用的一些细节要点的思考
( _(:3 」∠)_给园友们提个建议,无论是API文档还是书籍,一定要多看几遍!特别是隔一段时间后,会有意想不到的收获的) 这篇文章主要是写关于学习react中的一些自己的思考: 1.set ...
随机推荐
- Content-Disposition的使用和注意事项(转载)
Content-Disposition的使用和注意事项 最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相 关的协议,有的则说不用很了解.个人认为这要分层次来看待这个 ...
- oracle11gr2 netca 无法启动 报错
安装oracle软件后,必须要先配置listener才能dbca建库,但是netca却报下面的错误. Oracle Net Services Configuration: # # An unexpec ...
- CSS 设计彻底研究(五)文字与图像
第五章 文字与图像 5.1.2 设置字体 通过font-family属性设置字体.可以声明多种字体,字体之间用逗号分隔开.如一些字体名称中间有空格,需用双引号将其引起来,使浏览器知道这是一种字体的名称 ...
- poj2243 bfs
O - 上一个题的加强版 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65536KB 6 ...
- android设置图片变化的四种效果代码
activity代码如下: package com.example.chapter12_graphic_animation; import android.os.Bundle; import andr ...
- jQuery常用选择器汇总
一.基本选择器 <body> <div> <div id="div1"> aaaaaaaaaaa</div> <div cla ...
- py正则表达式
1.元字符 . ^ $ * + ? {} [] \ | () --> [] : - 常用来指定一个字符集:[abc], [a-z] 匹配任意一个字符 - 元字符在字符集中不起作用:[akm ...
- 用Python设计第一个游戏 - 零基础入门学习Python002
用Python设计第一个游戏 让编程改变世界 Change the world by program 有些鱼油可能会说,哇,小甲鱼你开玩笑呐!这这这这就上游戏啦?你不打算给我们讲讲变量,分支,循环,条 ...
- 利用raspberry pi搭建typecho笔记(三) typecho nginx sqlite FAQ
前言 这是一个汇总文,用来总结我在整个配置过程中遇到的各种问题.因为我在解决这些问题的过程中发现,typecho被部署在这种需要完全自己配置的平台上的情况是比较少的,相关的资料也比较少,所以我的解决过 ...
- 在 .NET Framework 2.0上使用LINQ
附件:System.Linq.dll.7z 此为从System.Core.dll中剥离的Linq,含有System.Linq.Enumerable类所有扩展方法,可以在客户只安装了.Net 2.0的环 ...