react基础(2)—— 表达式,样式,事件,refs
表达式
//1. {单大括号包裹变量(对象,数组,简单数据类型....)}
//2. 变量未定义会报错
//3. {只能是表达式(+-*/,三目....), 不能是语句if,switch},可以是函数表达式
//4. 注释的写法 {这里面写注释} {//单行} {/*多行*/}
1 import React,{Component} from "react"; 2 3 class App extends Component{ 4 5 render(){ 6 return <div> 7 {10>20?'aaa':'bbb'} 8 </div> 9 } 10 11 } 12 export default App;
样式
1. class -- > className ,
for -- htmlFor(label)
2. 行内样式(facebook 推荐),注意font-size 的写法
1 import "./css/index.css";// 模块化方式引入css css-loader 2 import React,{Component} from "react"; 3 4 class App extends Component{ 5 render(){ 6 var obj = { 7 background:"blue", 8 fontSize:'30px' 9 } 10 return <div> 11 <div style={obj}>style样式写法</div> 12 <div style={{background:'yellow'}}>style样式写法</div> 13 <div className="active">class 样式</div> 14 </div> 15 } 16 } 17 18 export default App;
事件、refs
<p><button onClick={this.handleMyClick.bind(this,"aaa","bbbb")}>注册</button></p>
<p><button onClick={()=>{
console.log("click2",this.refs.myname.value,this.refs.mypassword.value)
}}>注册2</button></p>
1 class App extends Component{ 2 render(){ 3 return <div> 4 5 用户名<input type="text" ref="myname" /> 6 密码<input type="password" ref="mypassword"/> 7 8 <p><button onClick={this.handleMyClick.bind(this,"aaa","bbbb")}>注册</button></p> 9 <p><button onClick={()=>{ 10 console.log("click2",this.refs.myname.value,this.refs.mypassword.value) 11 }}>注册2</button></p> 12 13 </div> 14 } 15 16 handleMyClick(data1,data2){ 17 console.log(this,data1,data2); 18 19 console.log("click",this.refs.myname.value,this.refs.mypassword.value) 20 } 21 } 22 23 export default App;
#################
(1)给标签设置ref="username"
通过这个获取this.refs.username ,ref可以获取到应用的真实dom
给组件设置ref="username"
通过这个获取this.refs.username ,ref可以获取到组件对象
(2) 给标签设置 ref={function(el){myele=ele;}}
访问myele
1 class App extends Component{ 2 render(){ 3 return <div> 4 5 用户名<input type="text" ref="myname"/> 6 密码<input type="password" ref="mypassword"/> 7 8 <p><button onClick={this.handleMyClick}>注册</button></p> 9 <p><button onClick={()=>{ 10 console.log("click2",this.refs.myname.value,this.refs.mypassword.value) 11 }}>注册2</button></p> 12 13 </div> 14 } 15 16 handleMyClick(){ 17 //this 丢了 ,找回? call apply bind 18 console.log("click",this.refs.myname.value,this.refs.mypassword.value) 19 } 20 } 21 22 export default App;