安装插件 Reactjs code snippets
rcc 快捷操作
插件 React-Native/React/Redux snippets for es6/es7
yarn add query-string 分解git传值
npx create-react-app my-app // 创建项目
npm start // 启动项目
一、组件
//Tips:每一个页面级的组件第一行必须加
import React from 'react'
二、无状态组件
//就是一个函数,无状态组件中不能写事件,不能对数据进行直接的改变
import React from 'react';function App() {return (<div className="App" >hello world</div>);}export default App;
三、有状态组件
import React from 'react';class App extends React.Component{//数据放在构造函数的state属性constructor(props){super(props);this.state = {msg:"hello world"}}render(){return (//使用数据 {this.state.msg}<div>{this.state.msg}</div>)}}// jsxexport default App;
3-1 事件
//1.改变事件内部this指向的问题 bind(this)render(){return (//bind(this)改变this关键字的指向<div onClick={this.handleClick.bind(this)}>{this.state.msg}</div>)}handleClick(){this.setState({msg:"change"})}//2.使用箭头函数 改变this指向render(){return (<div onClick={this.handleClick}>{this.state.msg}</div>)}handleClick=()=>{this.setState({msg:"change"})}
3-2 事件参数
//Tips:传递参数一定加bind bind(this,params)render(){return (<div onClick={this.handleClick.bind(this,"10001")}>{this.state.msg}</div>)}handleClick=(id)=>{console.log(id)this.setState({msg:"change"})}
四、if-else
class App extends React.Component {constructor(props) {super(props);this.state = {isShow:true}}render() {return (<div>{this.Message()}</div>)}Message(){if(this.state.isShow){return (<span>显示</span>)}else{return (<span>隐藏</span>)}}}export default App;
五、三元
<p>{this.state.isShow?'good':'hello world'}</p>
六、for map
<div>{this.state.arr.map(item=>{return (<p>{item}</p>)})}</div></div>
七、样式
1.class要写成className<div className="app">hello world</div>
