React第一天学习

作者: 誩先生 | 来源:发表于2020-02-25 13:08 被阅读0次
    内容:React入门
    

    一、react是什么?

    react是facebook使用的一个Javascript库

    ​ 可以用来创建web用户交互界面

    ​ MVC中的视图层

    官网:https://react.docschina.org/

    优点:

    ​ 效率高

    ​ 组件化

    ​ 跨浏览器兼容

    ​ 虚拟DOM

    ​ JSX

    ​ 报错信息完整清晰(提示)

    缺点:不是完整的MVC框架

    二、虚拟DOM

    在react中,我们执行DOM操作的对象并不是真正的DOM节点,而是react创建的一个轻量级的JS对象,这个对象称为虚拟DOM。

    Diff算法,每当数据变化时,都会重新构建整个DOM树,和上一次的DOM树进行对比,根据变化的部分来进行实际的DOM操作。

    三、JSX语法糖【重点】

    JSX是Javascript和XML,是facebook为react开发的一套语法糖,它是JavaScript的语法扩展,允许HTML与Javascript的混写。

    它的目的是增加程序的可读性,从而减少程序代码出错的机会。

    它不是一个新的语法,在JSX中,遇到“<>”会解析成HTML,遇到“{}”会解析成JS

    四、基本使用

    1.引入核心库(React、ReactDOM)、引入babel(编译器)

    2.设置一个挂载点(作用范围)

    3.ReactDOM.render来渲染页面

    var el = <div>
       <h1>这是JSX语法糖</h1>
    </div>
    var app = document.getElementById("app")
    ReactDOM.render(el,app)
    

    五、组件【重点】

    1.定义方式

    (1)es6 类

    class 组件名 extends React.Component{
        render(){
            return(
                <div></div>
            )
        }
    }
    

    注意:组件的类名首字母要大写

    (2)构造函数

    function 组件名(){
        return(
            <div></div>
        )
    }
    

    2.组件嵌套

    function Index(){
         return(
              <div>
                  <h1>Hello,Index组件</h1>
                  { /* 通过组件名来使用已定义好的组件 */ }
                  <Home className="home" />
             </div>
        )
    }
    

    六、脚手架

    1.安装

    npm install create-react-app -g

    2.初始化项目

    create-react-app 项目名称

    注意:项目名称不能包含中文和空格

    3.项目目录结构

    myapp

    - node_modules          项目依赖目录
    
    • public 项目根目录
      • index.html 项目首页
      • favicon 页面图标
      • mainfest.json 页面配置文件
    • src 项目源码(主战场)
      • index.js 主入口
      • index.css 全局样式表
      • App.js 根组件
      • App.css 根组件的样式表
      • logo.svg 图片
      • serviceWorker.js 离线访问服务
      • setupTests.js 测试
      • .gitignore git忽略规则文件
      • package.json 项目依赖配置文件
      • package-lock.json 锁定安装时的包的版本
      • README.md 项目说明文件

    运行流程:

    ​ public/index.html>src/index.js>src/App.js

    七、常见错误【重点】

    1.Uncaught SyntaxError: Inline Babel script: Adjacent JSX elements must be wrapped in an enclosing tag

    只能有一个结束标签:根标签

    2.Warning: Invalid DOM property class. Did you mean className?

    在jsx中,class属性应该写成className

    3.uncaught SyntaxError: Inline Babel script: Unterminated JSX contents

    在react中,input、img、br、hr 需要加上闭合

    4.Warning: Invalid DOM property for. Did you mean htmlFor?

    在react中,for属性应该写成htmlFor

    5.Warning: Each child in a list should have a unique "key" prop.

    遍历生成元素时,需要给元素指定key属性(key属性不能重复)

    6.Uncaught Error: Target container is not a DOM element.

    document.getElementById(“元素的id”)

    指定的id元素,必须在dom存在

    7.Warning: The tag <home> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.

    react中的组件名,应该是首字母大写的。

    8../src/App.js
    Attempted import error: './Hello' does not contain a default export (imported as 'Hello').

    在脚手架的组件中,定义好组件后,需要导出 export default 类名

    相关文章

      网友评论

        本文标题:React第一天学习

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