美文网首页
react - note - 01

react - note - 01

作者: robertzhai | 来源:发表于2023-09-13 07:11 被阅读0次

    3 fe fws

    • react
    • vue
    • angular(国内少)

    doc

    react 特点

    • 声明式UI(JSX)
    • 组件化
    • web 和 native(android ios) 应用

    npm 源设置

    环境搭建

    • npm install -g npx
    • corepack enable
    • npx create-react-app react-basic
    • cd react-basic && npm start
    • http://localhost:3000/
      image.png

    JSX

    1. JSX必须有一个根节点,如果没有根节点,可以使用<></>(幽灵节点)替代
    2. 所有标签必须形成闭合,成对闭合或者自闭合都可以
    3. JSX中的语法更加贴近JS语法,属性名采用驼峰命名法  class -> className  for -> htmlFor
    4. JSX支持多行(换行),如果需要换行,需使用() 包裹,防止bug出现
    

    Prettier - Code formatter plugin && setting.json

    
    
    {
        "workbench.colorTheme": "Default Light Modern",
        "editor.formatOnPaste": true,
        "editor.formatOnSave": true,
        "editor.fontSize": 18,
      "git.enableSmartCommit": true,
      // 修改注释颜色
      "editor.tokenColorCustomizations": {
        "comments": {
          "fontStyle": "bold",
          "foreground": "#82e0aa"
        }
      },
      // 配置文件类型识别
      "files.associations": {
        "*.js": "javascript",
        "*.json": "jsonc",
        "*.cjson": "jsonc",
        "*.wxss": "css",
        "*.wxs": "javascript"
      },
      "extensions.ignoreRecommendations": false,
      "files.exclude": {
        "**/.DS_Store": true,
        "**/.git": true,
        "**/.hg": true,
        "**/.svn": true,
        "**/CVS": true,
        "**/node_modules": false,
        "**/tmp": true
      },
      // "javascript.implicitProjectConfig.experimentalDecorators": true,
      "explorer.confirmDragAndDrop": false,
      "typescript.updateImportsOnFileMove.enabled": "prompt",
      "git.confirmSync": false,
      "editor.tabSize": 2,
      "editor.fontWeight": "500",
      "[json]": {},
      "editor.tabCompletion": "on",
      "vsicons.projectDetection.autoReload": true,
      "editor.fontFamily": "Monaco, 'Courier New', monospace, Meslo LG M for Powerline",
      "[html]": {
        "editor.defaultFormatter": "vscode.html-language-features"
      },
      "debug.console.fontSize": 14,
      "vsicons.dontShowNewVersionMessage": true,
      "editor.minimap.enabled": true,
      "emmet.extensionsPath": [
        ""
      ],
      // vue eslint start 保存时自动格式化代码
      // eslint配置项,保存时自动修复错误
      "editor.codeActionsOnSave": {
        "source.fixAll": true
      },
      "vetur.ignoreProjectWarning": true,
      // 让vetur使用vs自带的js格式化工具
      // uni-app和vue 项目使用
      "vetur.format.defaultFormatter.js": "vscode-typescript",
      "javascript.format.semicolons": "remove",
      // // 指定 *.vue 文件的格式化工具为vetur
      "[vue]": {
        "editor.defaultFormatter": "octref.vetur"
      },
      // // 指定 *.js 文件的格式化工具为vscode自带
      "[javascript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features"
      },
      // // 默认使用prettier格式化支持的文件
      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "prettier.jsxBracketSameLine": true,
      // 函数前面加个空格
      "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
      "prettier.singleQuote": true,
      "prettier.semi": false,
      // eslint end
      // react
      // 当按tab键的时候,会自动提示
      "emmet.triggerExpansionOnTab": true,
      "emmet.showAbbreviationSuggestions": true,
      "emmet.includeLanguages": {
        // jsx的提示
        "javascript": "javascriptreact",
        "vue-html": "html",
        "vue": "html",
        "wxml": "html"
      },
      // end
      "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features"
      },
      // @路径提示
      "path-intellisense.mappings": {
        "@": "${workspaceRoot}/src"
      },
      "security.workspace.trust.untrustedFiles": "open",
      "git.ignoreMissingGitWarning": true,
      "window.zoomLevel": 1
    }
    
    

    Error Lens plugin

    组件

    根据UI结构划分的不同功能的代码的集合

    • 独立
    • 可复用
    • 可组合

    分类

    • function、class、

    ref

    相关文章

      网友评论

          本文标题:react - note - 01

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