zoukankan      html  css  js  c++  java
  • react 基本配置使用

    react入门的一些配置

    安装和启动

    npm install -g create-react-app
    create-react-app my-app
    
    cd my-app
    npm start 

    创建 ts的项目,可以将第二步改为如下指令即可:

    create-react-app my-app --scripts-version=react-scripts-ts
    

      

    react默认是将 webpack配置放置在node_module里面的,需要修改webpack配置,就的反编译出来,其中提供了一个指令

    npm run eject
    

     执行命令是,可能会报错,是因为,需要先将代码提交到git或者svn

     

    一、配置使用绝对路径

      因为react 引入模块,总是需要相对路径...,非常麻烦,可以配置绝对路径

       1、找到config 下面的 webpack.config.dev.js和webpack.config.prod.js

      webpack.config.dev.js中
      加入如图代码:
       

      

    webpack.config.prod.js 加入如下代码

    2、使用实例

      

     二、使用less
     npm install less-loader less --save
     
     dev.js

    prod.js

    三、打包

      当你开发完了,运行 npm run build  ,找到 build文件夹,打开index.html,发现what!!!,,css路径不对。什么鬼

     需要改配置:

     config->paths.js文件下面,如下地方加一个 “点”

    再打包之后,发现,没有问题了。。

     四、图片使用

     1、img标签使用,两种方式

     import Oimg from "@/assets/img/6.jpg";
    
    <img src={require("@/assets/img/6.jpg")} alt="" />
    <img src={Oimg} alt="" />
    

    2、css使用

    background: url("../../assets/img/44.png") no-repeat left top;
    
     <div className="bg-img" style={{backgroundImage:require("@/assets/img/44.png")}}></div>
    

      

    五、使用装饰器  

    react默认没有兼容使用装饰器

    npm install --save babel-plugin-transform-decorators-legacy
    

    然后再package.json中

     使用

     

     六、使用  antd desgin

    使用这个,安装官方的流程,安装,引入,并且配置了,babel-plugin-import

    使用官方推荐的配置

    然后一启动,报错如下。。

    Failed to compile
    ./node_modules/antd/lib/button/style/index.less
    Module build failed:
     
    // https://github.com/ant-design/ant-motion/issues/44 
    .bezierEasingMixin();
    ^
    Inline JavaScript is not enabled. Is it set in your options?
          in C:UsersHPDesktop
    eact-antD
    eact-antd
    ode_modulesantdlibstylecolorezierEasing.less (line 110, column 0)
    This error occurred during the build time and cannot be dismissed.

    原因是 less版本不对,可以执行

    npm i --save less@2.7.3

    七、初始化state和props

     1、state的初始化,通过构造函数

     //在构造函数中对状态赋初始值
        constructor(props){
            super(props);//第一步,这是必须的
            //不能调用state
            this.state = {//第二步,赋初始值
                time:0,
                on:false,
                log:[] //数组
            };
        }
    

     不使用构造函数

    2、props的初始化

    class Button extends React.Component{
    //静态属性,给属性赋默认值
    static defaultProps = {
        onClick : null,
        className : '',
        text : '默认'
    };
    
    render(){
        return <button className={`Button ${this.props.className}`} onClick={this.props.onClick}>{this.props.text}</button>;
    }
    

    3、指定props的类型

    import PropTypes from 'prop-types';
    
    class Index extends Component {
        //静态属性,给属性赋默认值
         static propTypes = {
            test: PropTypes.string
          }
          static defaultProps ={
            test:"props=test"
          }
          state = {
    
          }
    
    	
      render() {
        return (
          <div className="_Index">
    
           
              {this.props.test}
              
    
            </header>
            
          </div>
        );
      }
    }
    

      

    八、使用代理 proxy

      在 package.json 里面:

  • 相关阅读:
    C#应用NPOI实现导出EXcel表格中插入饼状图(可实现动态数据生成)
    Asp.Net开发学习知识点整理
    Javascript,闭包
    sublime 自定义快捷生成代码块
    $.extend()使用
    ztree 数据格式及其配置
    ztree 数据格式 及 基本用法
    表单中两个submit如何判断点击的是哪个submit
    myChart.on('finished')
    jQuery数组排序
  • 原文地址:https://www.cnblogs.com/muamaker/p/9617447.html
Copyright © 2011-2022 走看看