一.react项目中使用less 1. 安装配置 npm i -D less less-loader 2. 查看webpack配置 npm run eject 此操作不可逆,生成新的目录. 3. 修改其中的webpack.config.js文件 二.react 16.12.0 中修改antd的主题样式 npm i -D babel-plugin-import 2. 在package.json中找到对babel的配置,并进行如下修改 "babel": { "presets&qu…
1.在Component的Radio中加个style={radioStyle}. <RadioGroup> <Radio style={radioStyle} value={}>多和他人谈话</Radio> <Radio style={radioStyle} value={}>写下计划</Radio>> </RadioGroup> 2.在style-components中写 export const radioStyle = {…
最近有个需求,在一个react项目中,实现搜索关键字呈现高亮状态.这个在普通的html文件中还好操作些,在react项目中有点懵逼了,因为react项目中很少操作dom,有点无从下手.但最后还是实现了效果,如下: 首先来看看如何在react中操作dom,广大网友给出两种方案: 一:使用选择器: 1.引入react-dom     import ReactDom from 'react-dom' 2.给react节点设置id或类名等标识     <span id='tip'></span&…
本文作者:胡子大哈 原文链接:https://scriptoj.com/topic/178/如何在非-react-项目中使用-redux 转载请注明出处,保留原文链接和作者信息. 目录 1.前言 2.单纯使用 Redux 的问题 2.1.问题 1:代码冗余 2.2.问题2:不必要的渲染 3.React-redux 都干了什么 4.构建自己项目中的 "Provider" 和 "connect" 4.1.包装渲染函数 4.2.避免没有必要的渲染 5.总结 6.练习 1.…
前言 或许你当前的项目还没有到应用Redux的程度,但提前了解一下也没有坏处,本文不会安利大家使用Redux 概念 首先我们会用到哪些框架和工具呢? React UI框架 Redux 状态管理工具,与React没有任何关系,其他UI框架也可以使用Redux react-redux React插件,作用:方便在React项目中使用Redux react-thunk 中间件,作用:支持异步action 目录结构 Tips:与Redux无关的目录已省略 |--src |-- store Redux目录…
并上一节使用的是普通的数据状态管理,不过官方推荐使用装饰器模式,而在默认的react项目中是不支持装饰器的,需要手动启用. 官方参考 一.添加配置 官方提供了四种方法, 方法一.使用TypeScript,顾名思义该方法是项目使用typescript时的配置 方法二.使用babel-preset-mobx, 安装并添加到.babelrc配置中,该方法需要升级一些依赖, babel-core -> @/babel-core 7.x babel-loader -> @/babel-loader 8.…
概念 首先我们会用到哪些框架和工具呢? React UI框架 Redux 状态管理工具,与React没有任何关系,其他UI框架也可以使用Redux react-redux React插件,作用:方便在React项目中使用Redux react-thunk 中间件,作用:支持异步action 目录结构 Tips:与Redux无关的目录已省略 |--src |-- store Redux目录 |-- actions.js |-- index.js |-- reducers.js |-- state.…
前言 在第二小节中,我们讨论了利用TypeScript创建Web项目的实现,在本下节,我们讨论一下如何结合React创建一个具备TypeScript类型的应用项目. 准备 Webpack配置在第二小节项目的基础上做了一些修改, 添加React相关依赖:react.react-dom.@types/react 和@types/react-dom 修改Webpack配置文件 修改webpack.base.config.js,其余文件和第二小节保持一致,修改如下: const HtmlWebpackP…
使用create-react-app脚手架搭建初始化项目 > npm install -g create-react-app > npx create-react-app my-app create-react-app构建的项目默认使用css语法,但是隐藏的webpack配置中配置支持了css/sass/scss 要想使用less/scss及全局样式/变量首先需要执行npm run eject命令暴露webpack等配置文件等信息 该操作不可逆,会在项目根目录中生成config(配置文件)和s…
在react项目中实现此功能可借助 react-rnd 库,文档地址:https://github.com/bokuweb/react-rnd#Screenshot .下面是实例运用: import React, { Component } from 'react' import PropTypes from 'prop-types' import assign from 'object-assign' import classNames from 'classnames' import _ f…
最近在react项目中需要实现一个,右键自定义菜单功能.找了找发现纯react项目里没有什么工具可以实现这样的功能,所以在网上搜了搜相关资料.下面我会附上完整的组件代码. (注:以下代码非本人原创,具体详情请参考 https://blog.csdn.net/anyicheng2015/article/details/78581064) import React, { Component } from 'react' import PropTypes from 'prop-types' impor…
这里我们要在自己搭建的react项目中使用ECharts,我们可以在ECharts官网上看到有一种方式是在 webpack 中使用 ECharts,我们需要的就是这种方法. 我们在使用ECharts之前要先安装ECharts,在以往的开发模式中,我们很多使用就是把官网中的ECharts的核心js文件导入到我们的html或者是jsp等文件里面,但是在react项目中,我们可以直接使用node.js的npm命令安装: npm install echarts --save 这个时候我们的ECharts…
今天想跟大家分享一下redux在react项目中的简单使用 1 1.redux使用相关的安装 yarn add redux yarn add react-redux(连接react和redux) 2. redux在项目中的基础使用 1.在index.js入口文件注入store import { Provider } from "react-redux" import store from "./redux/store" ReactDOM.render( <Pr…
如果你的项目中并没有用到redux,那本文你可以忽略 问题引入 纯粹的单页面react应用中,通过this.props.history.push('/list')就可以进行路由跳转,但是加上了redux后,使用这个语句并不能生效.相信你在做的过程也遇到了此问题,控制台报错了-_- 1 Uncaught TypeError: Cannot read property 'push' of undefined 解决方案 在将要使用js控制路由的组件中引入withRouter方法; 大专栏  react…
react项目中ant-design按需加载,使用react-app-rewired的时候报错 运行npm start或者yarn start报如下错误: TypeError: injectBabelPlugin is not a function 原因好像说是react-scripts 升级到 2.1.2 以后破坏了 react-app-rewired 解决方法,对react-scripts进行降级处理 npm install react-app-rewired@2.0.2-next.0 成功…
react-amap 这是一个基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中. 文档实例预览: Github Web | Gitee Web 特性 ️ 自动加载高德地图 SDK(通过创建 Script 标签的形式加载),包括第三方 SDK. 使用 Typescript 编写,集成高德地图 SDK @type 声明文件(包括中文注释). ⚛️ 支持 React Hook 新增特性(需要 React 16.8+). 不依赖任何第三方组件. 安装 不依赖 uiw 组件…
目录 认识JSS 什么是JSS JSS 的常见实现 JSS 的好处与坏处 好处 坏处 使用模块化CSS实现JSS 安装插件 在React项目中的tsconfig.json中添加配置 vscode项目中添加配置 认识JSS 什么是JSS 简单来说,一句话概括CSS in JS (JSS),就是"行内样式"(inline style)和"行内脚本"(inline script). 因为,自从React出现以后,基于组件化的要求,强制把HTML.CSS.JavaScrip…
antd是蚂蚁金服推出的ui组件库,给我们在react项目开发中提供了大大的便利.但在使用的过程中,或多或少的会遇到一些问题,毕竟,用的是别人的东西,就得遵守别人的规则嘛!官方文档:https://ant.design/docs/react/introduce-cn 1. 国际化(中文化) 通过官方文档我们可以知道,很多组件如DatePicker.Modal等等默认的文本都是英文.如果是输入框的提示文字我们可以通过组件的placeholder属性来自定义:如果是模态框底部按钮的文字我们也可以通过…
在项目中,以前如果遇到对dom元素的操作都是直接获取dom元素,比如说: 但是如果修改的样式比较多的话,不如直接"切换"dom元素,如下例子: 这样会节省一些性能.因为操作dom的style是内联样式,css样式优先级:外部样式>内部样式>内联样式. 当然,不到万不得已,最好还是不要操作dom元素. ----------------------------------------------------------------------------------------…
蚂蚁金服数据可视化团队曾经开源了一款G6-Editor,但后来停止了对外支持,学习成本太高 好在后来他们团队的大牛高力结合 React + G6 开源了一个 GG-Editor(其实就是G6-Editor) 不过相关的文档还是太少,实际的使用依然是一个不断摸索的过程... 常见问题: https://github.com/gaoli/GGEditor/issues/130 一.引用 GG-Editor 直接通过 npm 或 yarn 安装依赖 npm install --save gg-edit…
前言 自从入坑WebAssembly以来,躺了很多坑,也浏览了很多资料,都没有看到很多能够直接在前端项目中使用WebAssembly的例子.即使有,我自己按照介绍的步骤一步一步来, 也会报各种错误,官方的文档也写的比较模糊.于是,就决定自己撸一个,让React项目能够直接的借助Webpack,在代码中引入已经编译好的C++模块. 写一个C语言模块 int add(int a, int b) { return a + b; } 使用emscripten对C模块进行编译 执行以下代码对上面的add.…
在构建react项目时,默认使用的webpack-dev-serve有热刷新功能,但是局限是修改一处会使整个页面刷新 当引入了react-hot-loader时,可以实现局部刷新,即同个页面上,某一处的数据修改不会让整个页面一起刷新 import React from 'react'; import ReactDOM from 'react-dom'; import {AppContainer} from 'react-hot-loader'; import App from './App';…
大家都知道BizCharts是基于react封装的一套图表工具,而HighCharts是基于jQuery的.但是由于本人对BizCharts甚是不熟,所以在react项目开发中选择了HighCharts,在使用及对接数据的时候也是遇到了各种问题. 下面简单说下项目需求:首先是两个网络数据源,要求随时间的变化网络折线图不断更新,且当展示一定的数据点后开始折线图从右往左平移. 下面附上该组件所有代码. import React, { Component } from 'react' import P…
前段时间有写过一个TypeScript在node项目中的实践. 在里边有解释了为什么要使用TS,以及在Node中的一个项目结构是怎样的. 但是那仅仅是一个纯接口项目,碰巧赶上近期的另一个项目重构也由我来主持,经过上次的实践以后,尝到了TS所带来的甜头,毫不犹豫的选择用TS+React来重构这个项目. 这次的重构不仅包括Node的重构(之前是Express的项目),同时还包括前端的重构(之前是由jQuery驱动的多页应用). 项目结构 因为目前项目是没有做前后分离的打算的(一个内部工具平台类的项目…
数据可视化在前端开发中经常会遇到,万恶的图表,有时候总是就差一点,可是怎么也搞不定. 别慌,咱们一起来研究. 引入我就不多说了 npm install echarts 对于基础的可视化组件,我一般采用组件封装的方式来使用echarts 当需要在项目中使用echarts做图表时,可以直接将其封装成一个组件 1 import React, { Component } from 'react'; 2 3 // 引入 ECharts 主模块 4 import echarts from 'echarts/…
首先感慨下 自己竟然有半年没登账户 ,干嘛去啦? 从刚接触vue 接手做两次版本之后 又让我这个小菜鸡 开始开发react项目,连react生命周期还没搞明白的时候 就开始进行第一版本的开发了,第一个版本是一个基础配置项目,从开始到结束 都是蒙蒙的,上手好难,好在有人带着了第一个项目,经过第一个版本的摧残 ,从第二个到后来的版本 慢慢的从非常紧张到相对松一些的节奏 ,感谢同事们的帮助呢,好啦 废话不説啦! 如何在create-react-app创建的项目下配置less,其实很简单,只是creat…
一.前言 单独的使用typescript 并不会导致学习成本很高,但是绝大部分前端开发者的项目都是依赖于框架的 例如和vue.react 这些框架结合使用的时候,会有一定的门槛 使用 TypeScript 编写 react 代码,除了需要 typescript 这个库之外,还需要安装@types/react.@types/react-dom npm i @types/react -snpm i @types/react-dom -s 至于上述使用@types的库的原因在于,目前非常多的javas…
先看是什么,再看怎么用: redux-thunk是一个redux的中间件,用来处理redux中的复杂逻辑,比如异步请求: redux-thunk中间件可以让action创建函数先不返回一个action对象,而是返回一个函数: react-redux相当于一个适配react的一个redux插件:redux本身可以在任何项目中使用,react-redux带来了更适合react的方法: 而redux就是来管理数据的一个仓库了. 核心概念是使用store来作为一个数据仓库,所有组件都来通过数据来渲染视图…
在最近的工作中需要用到富文本编辑器,结合项目的UI样式以及业务需求,选择了wangEditor.另外在使用的过程中发现wangEditor只有上传图片和视频的功能,没有上传文本附件的功能,所以需要对其扩展一个上传附件的功能. 我们的项目前端是用的react框架,在这里就记录一下我在项目中对wangEditor的简单封装使用以及扩展上传附件菜单. 需要购买阿里云产品和服务的,点击此链接领取优惠券红包,优惠购买哦,领取后一个月内有效: https://promotion.aliyun.com/ntm…
在公司的React前端项目中,发现有一个registerServiceWorker.js文件, 很久都没弄明白这个文件是干什么用的,查询了一些资料后,了解了一些 service worker是在后台运行的一个线程,可以用来处理离线缓存.消息推送.后台自动更新等任务. registerServiceWorker就是为react项目注册了一个service worker,用来做资源的缓存,这样你下次访问时,就可以更快的获取资源.而且因为资源被缓存,所以即使在离线的情况下也可以访问应用(此时使用的资源…