美文网首页
React循序渐进

React循序渐进

作者: 深圳都这么冷 | 来源:发表于2022-05-05 13:35 被阅读0次

    React是什么

    React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。

    1.必备工具npm

    npm是一个流行的(成熟的javascript打包工具)
    npx可以简单的认为是npm的改良版,参见 npx 使用教程

    2.单刀直入,创建react应用

    $ npx create-react-app ludo_frontend
    npx: 67 安装成功,用时 13.975 秒
    
    ............
    
      cd ludo_frontend
      npm start
    
    Happy hacking!
    $
    

    3.构建打包

    npm run build
    会在./build/ 文件夹内生成你应用的最新版本

    4.添加新的第三方包

    npm install react-admin ra-data-json-server prop-types
    或者
    yarn add react-admin ra-data-json-server prop-types

    理解项目结构

    1.入口

    public/index.html

    <div id="root"></div>
    

    后续组件就是挂载载root这里
    参见src/index.js

    import React from 'react';
    import ReactDOM from 'react-dom/client';
    import './index.css';
    import App from './App';
    
    const root = ReactDOM.createRoot(document.getElementById('root'));
    root.render(
      <App />
    );
    

    「import App from './App'」即src/App.js文件,所以也可以理解为App是实际的根节点,App被称为组件,组件是react中最重要的组成
    关于import语法

    如果使用export default Xxx;导出的,可以使用import Xxx from 'module';
    但是一个模块只能导出一个默认属性
    其他的都是使用export Yyy导出的,这种需要使用import { Yyy } from 'module';
    非默认的属性可以导出多个,每个模块默认导出只能是1个或者0个

    重要概念

    1.组件

    从类组件到函数组件的变迁

    • 类组件有很复杂的生命周期管理
    • 函数组件使用hooks可以轻松管理生命周期,如useEffect
    • 类组件需要显示继承自React.Component
    • 函数组件根据返回值就可以推测出父类
    // 类组件
    class Welcome extends React.Component {
      render() {
        return <h1>Hello, {this.props.name}</h1>;
      }
    }
    // 函数组件
    function Welcome(props) {
      return <h1>Hello, {props.name}</h1>;
    }
    // 箭头函数
    const Welcome = (props) => (
    <h1>Hello, {props.name}</h1>;
    )
    // 或者
    const Welcome = (props) => {
      return (<h1>Hello, {props.name}</h1>);
    }
    

    2.属性props

    props是组件的属性,可以从根部向下流,只读

    3.状态state

    state是组件自有的状态,状态的变化会影响子组件的重绘

    4.钩子hooks

    hooks是方便函数组件管理生命周期的语法糖

    相关文章

      网友评论

          本文标题:React循序渐进

          本文链接:https://www.haomeiwen.com/subject/tikxyrtx.html