安装插件 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:每一个页面级的组件第一行必须加

  1. import React from 'react'

二、无状态组件
//就是一个函数,无状态组件中不能写事件,不能对数据进行直接的改变

  1. import React from 'react';
  2. function App() {
  3. return (
  4. <div className="App" >
  5. hello world
  6. </div>
  7. );
  8. }
  9. export default App;

三、有状态组件

  1. import React from 'react';
  2. class App extends React.Component{
  3. //数据放在构造函数的state属性
  4. constructor(props){
  5. super(props);
  6. this.state = {
  7. msg:"hello world"
  8. }
  9. }
  10. render(){
  11. return (
  12. //使用数据 {this.state.msg}
  13. <div>{this.state.msg}</div>
  14. )
  15. }
  16. }
  17. // jsx
  18. export default App;

3-1 事件

  1. //1.改变事件内部this指向的问题 bind(this)
  2. render(){
  3. return (
  4. //bind(this)改变this关键字的指向
  5. <div onClick={this.handleClick.bind(this)}>{this.state.msg}</div>
  6. )
  7. }
  8. handleClick(){
  9. this.setState({
  10. msg:"change"
  11. })
  12. }
  13. //2.使用箭头函数 改变this指向
  14. render(){
  15. return (
  16. <div onClick={this.handleClick}>{this.state.msg}</div>
  17. )
  18. }
  19. handleClick=()=>{
  20. this.setState({
  21. msg:"change"
  22. })
  23. }

3-2 事件参数

  1. //Tips:传递参数一定加bind bind(this,params)
  2. render(){
  3. return (
  4. <div onClick={this.handleClick.bind(this,"10001")}>{this.state.msg}</div>
  5. )
  6. }
  7. handleClick=(id)=>{
  8. console.log(id)
  9. this.setState({
  10. msg:"change"
  11. })
  12. }

四、if-else

  1. class App extends React.Component {
  2. constructor(props) {
  3. super(props);
  4. this.state = {
  5. isShow:true
  6. }
  7. }
  8. render() {
  9. return (
  10. <div>
  11. {this.Message()}
  12. </div>
  13. )
  14. }
  15. Message(){
  16. if(this.state.isShow){
  17. return (<span>显示</span>)
  18. }else{
  19. return (<span>隐藏</span>)
  20. }
  21. }
  22. }
  23. export default App;

五、三元

  1. <p>{this.state.isShow?'good':'hello world'}</p>

六、for map

  1. <div>{this.state.arr.map(item=>{
  2. return (<p>{item}</p>)
  3. })}</div>
  4. </div>

七、样式

  1. 1.class要写成className
  2. <div className="app">hello world</div>