react 学习笔记(一)

搭建环境

  1. 安装node
  2. npm install bower -g 全局安装一个包管理器
    插一句 bower info react 查询react 的版本信息
  3. bower install react#15.6.1 下载指定的版本
  4. bower install babel

开始写html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript" src="bower_components/react/react.js"> </script>
    <script type="text/javascript" src="bower_components/react/react-dom.js"> </script>   //虚拟DOM 
    <script type="text/javascript" src="bower_components/babel/browser.js"> </script>   // JSX 的语法
    
</head>
<body>
     <div id="app"></div>
    <script type="text/babel">
        ReactDOM.render(
            <h1>hellow  react!</h1>,
            document.getElementById('app')
        )
    </script>
</body>
</html>

react -dom => 提供了方法 ReactDOM.render(
组件(内容,元素),
放到哪
)

jsx => 支持style => 里面使用json
{{‘background’:‘red’}} 第一层括号表示告诉JSX我要使用js 语法,第二层括号则是json对象的壳子

事件

  1. 使用驼峰命名法,单词的首字母大写
    onclick =>onClick

组件写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript" src="bower_components/react/react.js"> </script>
    <script type="text/javascript" src="bower_components/react/react-dom.js"> </script>  
    <script type="text/javascript" src="bower_components/babel/browser.js"> </script>
                                        
</head>
<body>
    <div id="app"></div>
    <script type="text/babel">
        class Leo extends React.Component{
            render(){
                return <div>hello  </div>
            }
        }
        ReactDOM.render(
            <Leo/>,app
        )
    </script>
</body>
</html>

书写形式

class 自定义名字 extends React.Component{
	render(){
		return (要渲染的内容)
	}
}

注意 自己写的组件开头一定要大写
props
只能读 不能写

state - 状态可以改变

数据可以渲染
json 改变数据的方式 不会进行渲染
setState view层进行渲染

React 生命周期

1)componentWillMount 组件挂载前(组件渲染前)

1.找不到元素
2.属性、状态允许使用

2)componentDidMount 组件挂载后(组件渲染后)

1.可以找到元素
2.属性、状态允许使用

3)componentWillUpdate 组件更新前
4)componentDidUpdate 组件更新后
5)componentWillUnmount 组件卸载之前

关于事件冒泡的坑

react -
//return false;
//e.stopPropagation();
//e.cancelBubble = true;
//e.nativeEvent.cancelBubble = true;
都不好使

e <-react封装过的
nativeEvent 原生的事件对象

e.nativeEvent.stopImmediatePropagation()
停止立即的传播

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值