美文网首页
初识React

初识React

作者: 94小辉 | 来源:发表于2017-05-11 11:40 被阅读0次

    1、虚拟DOM:降低了算法复杂度,提升速度,主要是diff computation

    2、组件(快速复用)

    3、学会了新建组件export和引用组件import

    注意:组件的return函数里面返回的HTML节点只能是一个!

    4、JSX内置表达式
    三元表达式
    动态值放在{}中

    关于正确解析html显示在页面中:
    方法一:使用unicode转码
    方法二:使用dangerouslySetInnerHTML = {{__html:传入的变量}} 不推荐,可能存在XSS攻击

    5、页面的生命周期:

    生命周期1 生命周期2

    6、State属性(页面组件自身的属性)

    State

    State变化时只会局部刷新
    State只会体现在当前的class中,不会污染到其他的class中。

    7、Props属性(对于组件来说属于外来属性)

    8、数据与事件的双向绑定
    父页面---->子页面:通过props属性
    子页面---->父页面:通过对子页面的props属性绑定事件
    父页面---->子页面---->子页面:{...this.props}

    9、可复用组件
    组件的propTypes:设置props属性值的类型(可参考官方文档)
    isRequired:必须的参数
    组件的defaultProps:默认的props属性值

    10、组件的Refs(操作DOM)
    方法一:
    原生形式获得节点后,操作节点的方法:ReactDOM.findDOMNode(节点变量)
    方法二:
    设置ref属性
    使用this.refs.节点变量
    注意:不要在render里或者之前调用refs

    11、Mixins(组件之间公用方法)
    ES6暂不支持,需要安装react-mixin@2的包

    12、react样式:(用js来写css样式)
    (1)内联样式:
    *将css样式写入一个变量中,在标签里的style中引入该变量(只对内联起作用)
    **外部css文件,通过className调用对应的类(全局污染)
    缺点:不能使用动画、hover等伪类

    内联样式中的内置表达式:(计算改变样式)
    三元表达式写在内联css里面(利用state的变化)

    (2)CSS模块化
    这里附加一个tip:删除node_modules文件夹,快速初始化package.json里面包含的包:直接在对应文件夹下面使用npm install 命令

    这里需要两个新的包:
    cnpm install --save style-loader css-loader
    安装好了以后在webpack.config.js中增加配置:
    { test: /.css$/, loader: 'style-loader!css-loader' }

    有需要的话可以安装:babel-plugin-react-html-attrs(用于解决class和className的命名冲突等),安装好了以后在webpack.config.js中增加配置plugins: ['react-html-attrs']

    使用:在组件中require进来css文件

    优点:默认local,避免全局污染和命名冲突
    可以修改为global,这样全局都可以用

    (3)CSS---->JSX(因为后期学习react native不能用css)
    有一个在线转换工具http://staxmanade.com/CssToReact/

    13、Ant Design样式框架:(阿里出的)

    14、React Router插件:React页面跳转问题
    没有进行页面刷新,通过hashHistory前进后退。
    参数传递:this.props.params.参数名

    最后:有问题查看官方文档!

    相关文章

      网友评论

          本文标题:初识React

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