美文网首页
webpack + react基础

webpack + react基础

作者: hgzzz | 来源:发表于2019-03-02 21:47 被阅读0次
    1. render函数中使用js表达式
    • render函数中第一个参数中(要渲染的虚拟DOM)可以使用{}的方式插入任意的合法的js表达式,但是要注意只能有一个根元素
    1. 使用构造函数创建组件(无状态组件,无state和生命周期函数)
    • 使用构造函数创建组件,如果要接收参数,使用参数列表的props来接收(注意:组件必须向外return一个合法的jsx创建的虚拟DOM,props是只读的,类似vue的props)
    function Hello (props) { // 组件名称必须首字母大写
      return <div>这是组件hello---{props.name}</div>
    }
    ReactDOM.render(<div>
    <Hello name="zhangsan"></Hello>
    </div>, "一个页面上的DOM")
    
    1. 单文件组件
    • 直接新建一个jsx文件,在文件中编写组件相关的代码,并且以es6的语法export default将组件暴露出去,在需要用到这个组件的地方用import引入组件即可
    • 在引入组件时,后缀名可以省略,但是需要在webpack配置文件(webpack.config.js)中添加一个配置节点,
    resolve{
      extensions: ['.js', '.jsx', '.json']
    }
    

    在进行这一项的配置后,如果在写文件路径时没有写后缀名,系统会找这个配置节点数组里的项补全后缀名并找到相应的文件。

    1. 使用class关键字创建组件(有状态组件,有私有数据state和生命周期)
    class '组件名称' extends React.component {
      render () { // 必须要有render 函数,并且返回一个合法的 jsx 虚拟 DOM
        return <div>jsx虚拟DOM</div>
      }
    }
    
    • class关键字创建的组件中使用外界传递的属性,只需要 this.props.属性即可(this指向当前实例对象)
    1. 组件中使用样式文件
    • 行内样式
    // 直接在jsx的虚拟dom结构中添加代码
    const styleObj = { fontSize: '15px' }
    ReactDOM.render(
      <div>{styleObj}</div>
    )
    
    • 利用css-loader将样式文件模块化
      启用css-modules
    • 启用bootstrap第三方样式库而不去将它模块化(模块化使用太繁琐),自己定义的样式文件为.scss文件或者是.less文件,为它们配置模块化;而bootstrap等第三方样式类库的样式文件为.css结尾,不为其配置模块化
      启用bootstrap
    1. React中绑定事件
    • 事件的名称都是由React提供的,因此事件名的首字母必须大写(onClick)
    • 事件绑定
    // 接收一个函数表达式
    <button onClick={ function () {console.log('ok')} }></button>
    // 将函数定义在类的实例方法中,但是这样难以传参
    <button onClick={ this.clickHandler }></button>
    // 标准用法 箭头函数的 this 指向当前环境下的 this 指向
    <button onClick={ () =>{ this.clickHandler('参数') } }></button>
    
    1. 修改state 中的数据
      this.setState({ 数据:数据 }, () => {回调函数}) 这是一个异步执行的方法

    2. 生命周期


      生命周期
    3. 数据双向绑定

    • 在vue数据的双向绑定提供一个 v-model指令,其实它的是指就是将data中的数据绑定给表单的value属性,然后在表单的input事件中修改data值。
    • 在react中,思路类似,将state绑定到value中,然后在react提供的onChange事件中去调用setState来修改值。这里我们获取最新的表单输入值的方式有两种:1. 根据react的·组合事件参数e中的e.target来得到时间源的DOM对象引用然后获取value,获取在 jsx 对应绑定事件的表单元素中加一个 ref 引入方便获取这个表单的 DOM 对象引用。

    相关文章

      网友评论

          本文标题:webpack + react基础

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