React学习打卡Day1

1.react特性
        1)既不是mvc,也不是mvvm结构
        2)采用声明范式
        3)虚拟dom
        4)配合现有库和框架
        5)JSX ,js的语法拓展,jsx=js+xml
        6)复用,组件化
        7)单向响应数据流

2.安装react
        1)npm install -g create-react-app
        2)create-react-app myapp
        3)npm start 失败时,清除npmmodules和package-lock,再下载

3.编写第一个react应用程序
        1)import React from 'react',必须引入,其中包含JSX的语法
        2)import ReactDOM from 'react-dom',把React组件渲染到页面上去,注意不是从react中引入
        3)ReactDOM.render(内容,选择器),将内容加入对应选择器的页面中,不加引号表示html命令

4.JSX原理
        JSX—使用react构建组件,bable进行编译—>JavaScript对象—reactDOM.render()—>DOM元素—>插入页面

5.Component组件使用
        1)在base文件夹下创建js组件,使用class关键字,必须继承Component,必须使用render关键字,使用export导出,return后不能有兄弟标签,只能有一个大标签,如果要换行必须加()
        2)在index.js中使用import导入,用</>调用,代码如下
 

//组件文件下的代码
import React from 'react';
class App extends React.Component{
    render(){
        return <div>hello react Component</div>//return后只能加一个大标签,不能有兄弟标签)
    }
}
export default App;

//index.js文件中的代码
import React from 'react'
import ReactDOM from 'react-dom'
import App from './01-base/01-class组件'

ReactDOM.render(<App></App>,document.getElementById("root"));

 6.函数式组件及其样式
        1)function App(){这里同Component组件使用方式}
        2)不需要继承Component属性
        3)在div中加style属性时,必须在大括号内写对象
        4)css中的属性连接符‘-’换成驼峰式写法
        5)注意两个关键字:class写成className,laber中的for写成htmlFor
        6)React推荐使用行内样式,因为React觉得每一个组件都是一个独立的整体,利于复用

import React, { PureComponent } from 'react'

export default class App extends PureComponent {
    render() {
        var myname = "shown";
        var obj ={
            backgroundColor:"yellow",//遵循驼峰式写法,将‘-’省略
            fontSize:"30px"
        }
        return (
            <div>
                {10+20}-{myname}
                {10>20?'aaa':'bbb'}
                <div style={obj}>11111</div>
                <div style={{background:"red"}}>11111</div>
                <div className="active" id='myapp'>333333</div>
                <label htmlFor='username'>用户名</label>
                <input style={{outline:'none'}} type='text' id='username'></input>
            </div>
        )
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值