在上两节中,我们讲述了props, 组件使用props进行渲染,但是这是一次性的, props渲染完成之后就不做任何事情了,但是现实中却不是这样的,当我们点击购物车上的加减按钮时,数量会自动加1或减1,还有在就是倒计时效果,这就用了组件内部的状态, 如果一个组件有内部状态,那只能用类式组件,因为类中拥有构造函数,构造函数表示就是一个对象实例上的属性,对象实例上的属性都是特有的,所以也可以称之为对象实例的状态. 在组件的构造函数中声明组件的状态也是很简单,直接写this.state = {},我们…
本文基于React v16.4.1 初学react,有理解不对的地方,欢迎批评指正^_^ 一.定义组件的两种方式 1.函数定义组件 function Welcome(props) { return <h1>Hello, {props.name}</h1>; } 2.类定义组件 class Welcome extends Component { render() { return <h1>Hello, {this.props.name}</h1>; } } 这…
挂载/卸载 //在类组件中 class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; } componentDidMount() { //挂载 this.timerID = setInterval( () => this.tick(), 1000 ); } componentWillUnmount() { // 卸载 clearInterval…
我们很明显的能够感受到,react是一门数据驱动的框架,当数据发生变化,页面就会自动发生变化,他背后的原理是怎么样子的呢 比如todolist例子里面,inputValue变了,框里面的内容就会自动变.同时input框里面见监听了onChange事件,input框里面的内容变了,inputValue也会自动变.这里通过事件重新赋值给了inputValue.那么state和页面之间互相联动,他的底层机理是怎么样的呢 当组件的state或者props发生改变的时候,render函数就会重新执行.这里…
三点运算符  (...)的用法 1:展开运算符 let a=[1,2,3]; let b=[0,...a,4];//[0,1,2,3,4] let obj ={a:1,b:2}; let obj2 ={...obj,c:3}; //{a:1,b:2,c:3}; let obj3 ={...obj,a:3};//{a:3,b:2} 2:剩余操作符,把剩余的东西放到一个array里面赋值给它 let a=[,,]; let [b,...c]=a; //b --1,c --[2,3] let a=[,…
 1: 函数参数默认值 def method1(p1 = , p2 = ): // 函数有两个参数,并且都有默认值 return p1 + p2 print(method1()) print(method1()) // 默认第一个的默认值是9 print(method1(p2=)) // 指定第二个参数的值是9,第一个是默认值 print(method1(,))  2:作用域 如果想在函数内部使用函数外部的变量,使用global关键字 a = def meth2(): global a a =…
python函数递归就是自己调用自己,无限循环,但是python限制了调用的次数1000次,就会终止,递归用在栏目分类,采集程序比较多,下面简单说函数递归用法和实例 1,函数递归用法 def func(n): n=n/2 print(n) func(n) 2,函数递归回归,也就是函数递归后,要一层层返回 def fuc(a): a=a/2 print(a) fuc(a) print(a) fuc(10) 输出结果 5 2 1 0 0 1 2 5 注意一定要知道,递归函数一定是这样递归回来. 文章…
python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def test(n): print(n) test(dac) 输出结果为 函数类型function 2,把函数做为返回值,也是高阶函数 def test(x,y): return abs,x,y 输出结果为 列表,包含 函数,参数 文章来自(www.96net.com.cn)…
最近在React官网学习Handling Events这一章时,有一处不是很明白.代码如下: class Toggle extends React.Component { constructor(props) { super(props); this.state = {isToggleOn: true}; // This binding is necessary to make `this` work in the callback this.handleClick = this.handleC…
React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方式. <button onClick={ activateLasers }> Activate Lasers </button> 在React中另一个不同是你不能使用返回false的方式阻止默认行为,必须明确使用preventDefault来阻止. function handleCli…