«

初遇React

时间:2023-8-19 00:16     作者:小锐     分类: React


1.React项目创建

    1.1 安装脚手架
        yarn global add create-react-app 
    1.2 使用脚手架创建项目
        create-react-app 项目名称
    1.3 启动项目(端口默认3000)
        cd 项目名 && yarn start   启动项目 

2.Reavt创建组件


import { useState } from 'react'

export default function Test() {     默认暴露出在首页index.js中引用

  // useState  数据驱动,要获取响应式数据,useState的数据是放在数组里面的,
  // [name, SetName],第一个是纯数据,字符串格式,第二个是函数function格式,改变fun里面的数据赋值给索引为以的数据,在更新视图
  //   react数据驱动是通过MVC,他没有拦截数据,需要调用hooks提供的函数,来改变数据并刷新视图

//const [数据变量,  改变数据变量的函数 ] = useState(初始化的值)
//改变数据变量的函数只做两件事 1:改变数据的值  2:通知视图进行最小粒度更新
//数据变量
        //在函数中:  name   直接获取
        //在JSX中:  { name }  

  let [til,setTil] = useState('快看这个男人叫小帅')
  let [name, SetName] = useState('你快回来,在哪里呢')
  let Changname = () => {
    SetName('我一定会回来的')
    setTil('小美')
  }
  let [size,setSize] = useState(20)

  let sizeatt = ()=>{
    setSize(size+1)
  }

//JSX:React的模板占位符,支持在模板中插入任意表达式 {  }
//表达式的定义:运行后或给出一个结果的代码片段  包括(变量表达式,函数表达式,逻辑运算表达式,三目运算符,数字表达式)
  return (
    <div>
    //class是js的关键字,在作为元素样式时,属性变为className,用法与以前一致
      <p className="main" title={til} style={{color:'#f12',backgroundColor:'#666',fontSize:size+'px'}}>你好</p>
        //react事件监听采用on小驼峰
      <button onClick={sizeatt}>字体改变</button>
      <button onClick={Changname}>{name}</button>
      <div >你干嘛呢啊 {a}  </div>
    </div>
  )
}

3.在index.js中配置

import Test from './Aest'
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <Test/>
  </React.StrictMode>
);

标签: React create-react-app JSX