正式开始react的学习

1、react中组件的首字母如果是大写就会当成自定义组件,如果是小写就会当成DOM的自带元素名。如果你自定义组件名称首字母是小写不会报错,但是无法显示。

2、自定义组件的return中最外层只能有一个节点。

3、编写的HTML中的{}中,不能有语句,可以有求值表达式。但是可以将语句写在函数中,然后在{}中调用函数。

4、函数名和标签名都使用驼峰命名。

5、使用htmlFor和className。比如 <label htmlFor="name" className="red">Name</label>

6、样式的编写:可以在jsx中var style = {color:"red",backgroundColor:"blue"} 然后在自定义标签中添加style={style}  记得使用驼峰命名法。

7、非DOM属性:

  a、dangerouslySetInnerHTML:在JSX中直接插入HTML代码

  b、ref:父组件引用子组件

  c、key:提高渲染性能。diff算法

8、组件的各个生命周期中运行的函数:a、初始化。

reactjs学习之路

reactjs学习之路

 

b、运行中。

 reactjs学习之路

reactjs学习之路

 

 

c、销毁。

 reactjs学习之路

reactjs学习之路

 

 

9、属性的用法:

a、<HelloWorld name="abc"/>  //给属性name赋值"abc"

b、var props = {

  one:"123",

  two:"456"  

}

<HelloWorld {...props}/>  //展开语法相当于<HelloWorld one="123" two="456"}/>

c、var a = ReactDOM.render(<HelloWorld/>,document.body);

 a.setProps({name:"Tim"});  //不建议这种用法,违背了React的设计原则(最新版貌似已经去掉了这个函数?console.log出来抓着原型链找了一遍都没有找到这个函数,只找到了setState)

10、状态的用法:

 1 var HelloWorld = React.createClass({
 2             render:function(){
 3                 return <p>Hello,{this.props.name||"world"}</p>
 4             }
 5         });
 6         var HelloUniverse = React.createClass({
 7             handleChange:function(e){
 8                 this.setState({
 9                     name:e.target.value
10                 });
11             },
12             getInitialState:function(){
13                 return {
14                     name:'',
15                 }
16             },
17             render:function(){
18                 return <div>
19                     <HelloWorld {...this.state}/>
20                     <input type="text" onChange={this.handleChange} />
21                 </div>
22             }
23         });
24         var a = ReactDOM.render(<HelloUniverse/>
25         ,document.getElementById("root"));
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
  • 2021-08-01
  • 2022-12-23
  • 2022-02-07
  • 2022-12-23
  • 2021-05-15
猜你喜欢
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-05
  • 2021-05-22
  • 2022-12-23
相关资源
相似解决方案