0
点赞
收藏
分享

微信扫一扫

react入门手册

忍禁 2022-04-03 阅读 59

简介:

  • 用于创建用户界面的JavaScript库
  • react是Facebook公司出品,用于构建 Instagram 网站,在 2013.05 开源

特点:

  • 组件开发思维
  • 单向数据流
  • 虚拟dom节点

安装:

这里使用 create-react-app 快速构建 React 开发环境。

npm install -g create-react-app   //安装脚手架
create-react-app myreact          //创建
cd myreact                        //打开创建好的项目
npm start                         //启动运行

 在浏览器中打开项目地址出现此处即ok

 项目组成介绍:

 jsx语法:

  • 有且只有一个根节点
  • class用className代替
  • 数组可以放在html节点里,数组自动展开
  • {} 表示JavaScript
  • 样式自动展开
  • {/* 注释内容 */}

// 导入css
import './App.css'

// 定义一个数组
const arr = [<p key='a'>你好</p>, <p key='b'>欧哈游</p>, <p key='c'>hello</p>]

const stl = {
  fontSize: '24px',
  color: 'red'
}
// 创建app组件
function App () {
  return (
    <div>
      <h1 className='title'>你好react</h1>
      {arr}
      <p style={stl}>样式的应用</p>
    </div>
  )
}

export default App

 模板语法:

const text = '欧哈游'
let score = 99
let flag = true
let list = ['react', 'Vue', 'angular', '没了']
function App () {
  return (
    <div>
      <h1>模板语法</h1>
      <h2>1文本渲染</h2>
      <p>{text}</p>
      <p>{2 + 3}</p>
      <p>
        {text
          .split('')
          .reverse()
          .join('')}
      </p>
      <h2>2 html渲染</h2>
      <p dangerouslySetInnerHTML={{ __html: text }}></p>
      <h2>3条件渲染</h2>
      <p>{score > 60 ? '优秀' : '三元运算'}</p>
      {flag && <p>三目运算 </p>}
      <h2>4 列表渲染 map映射</h2>
      {list.map((item, index) => (
        <p key={index}>{item}</p>
      ))}
    </div>
  )
}

export default App

类组件:

import React, { Component, Fragment } from 'react'

class App extends Component {
  constructor (props) {
    super(props)
    this.state = {num:1}     //数据存放
  }
  render () {
    return (
      <Fragment>
        <h1>函数体</h1>
        {this.state.num}
      </Fragment>
    )
  }
}
export default App

 更新state数据:this.setState({})

updateNum (n) {
    this.setState({ num: this.state.num + n })
  }

事件响应:

react 事件与js事件一致,区别react事件驼峰式写法

例如:onClick  点击事件

事件需要响应一个函数

例如:οnclick={() => alert('米哈')}

           onClick={tc}  function tc(){函数内容}

事件需要函数的传参

  • onClick={tc.bind(this, 参数)}
  • onClick={() => tc(参数)}
function App () {
  function tc (str) {
    alert('我弹出来了' + str)
  }
  return (
    <div>
      <h1>事件</h1>
      <button onclick={() => alert('米哈')}>点击弹窗</button>
      <button onClick={tc}>点击弹窗</button>
      <button onClick={tc.bind(this, '嘿嘿!')}>点击弹窗</button>
      <button onClick={() => tc('11111')}>点击弹窗</button>
    </div>
  )
}

 

举报

相关推荐

0 条评论