React开发笔记
项目环境搭建
使用create-react-app
CSS使用styled-components
yarn add styled-components
引入reset.css样式
import { createGlobalStyle } from 'styled-components'
import { createStore, applyMiddleware, compose } from 'redux';
+ const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
+ const store = createStore(reducer, /* preloadedState, */ composeEnhancers(
- const store = createStore(reducer, /* preloadedState, */ compose(
applyMiddleware(...middleware)
));
使用combineReducer对reducer拆分
修改store下的reducer.js代码
import { combineReducers } from 'redux'
import { reducer as headerReducer} from '../components/header/store'
export default combineReducers({
header: headerReducer
})
使用actionCreators.js和actionTypes.js对store代码优化
使用immutable.js和redux-immutable
yarn add redux-immutable
生成的immutable对象,改对象不可改变
yarn add immutable
如何使用
import {fromJS} from 'immutable'
const defaultState = fromJS({
focused: false
})
const mapStateToProps = state => {
return {
focused:state.header.get('focused')
}
}
export default (state = defaultState, action) => {
if (action.type === actionTypes.SEARCH_BLUR) {
return state.set('focused', false)
}
if (action.type === actionTypes.SEARCH_FOCUS) {
return state.set('focused', true)
}
return state
}
使用redux-thunk
异步操作不在componentDidMount中操作
放到action
yarn add redux-thunk
后端使用koa koa-router koa-cors mock
模拟后端服务器
前端使用axios
跨域配置 "proxy": "http://localhost:8080"
安装react-router-dom
<BrowserRouter>
<div>
<Header/>
<Route path="/" exact component={Home}/>
<Route path="/detail/:id" exact component={Detail}/>
</div>
</BrowserRouter>
获得pathname
const {pathname} = this.props.location
页面跳转
this.props.history.push('/')
页面重定向
<Redirect from='/...' to='/...' />
React开发笔记的更多相关文章
- React Native 开发笔记
ReactNativeDemo 学习ReactNative开发,搭建ReactNative第一个项目 React Native 开发笔记 1.安装Homebrew $ /usr/bin/ruby -e ...
- Webpack笔记(二)——搭建React开发环境
前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...
- react学习笔记(一)用create-react-app构建 React 开发环境
React 可以高效.灵活的用来构建用户界面框架,react利用高效的算法最小化重绘DOM. create-react-app 是来自于 Facebook,通过该命令不需配置就能快速构建 React ...
- React笔记01——React开发环境准备
1 React简介 2013年由Facebook推出,代码开源,函数式编程.目前使用人数最多的前端框架.健全的文档与完善的社区. 官网:reactjs.org 阅读文档:官网中的Docs React ...
- React学习笔记--程序调试
React学习笔记 二 程序调试 前面我们搭建好了React的基本开发环境,可以编写基本的React js程序了.但完成的开发环境肯定包含调试器,怎么调试用React编写的JS程序呢?有浏览器,比 ...
- react系列笔记1 用npx npm命令创建react app
react系列笔记1 用npx npm命令创建react app create-react-app my-app是开始构建新的 React 单页应用程序的最佳方式.它已经为你设置好了开发环境,以便您可 ...
- React学习笔记 - Hello World
React Learn Note 1 React学习笔记(一) 标签(空格分隔): React JavaScript 前.Hello World 1. 创建单页面应用 使用Create React A ...
- react自学笔记总结不间断更新
React React 是由Facfbook维护的一套框架,并且引用到instagram React只是我们熟悉MVC框中的V层,只是视图层面的一个框架,只有俩个半api(createClass,cr ...
- [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
随机推荐
- linux c使用socket进行http 通信,并接收任意大小的http响应(五)
http.c data2.c http_url.c http.h data2.h http_url.h主要实现的功能是通过URL结构体来实现HTTP通信,你可以把这三个文件独立出来,作为HTTP通信模 ...
- Linux c读取系统内存使用信息
系统的内存使用信息能够在虚拟文件系统/proc/meminfo中找到,如图 所以只要打开/proc/meminfo文件,然后从中读取信息就好了 #include <stdio.h>#inc ...
- golang 报错illegal rune literal
记录一下,今天运行一端代码遇到这个报错"illegal rune literal",代码如下: func main() { http.HandleFunc('/login', lo ...
- 为你详解Linux安装GCC方法
下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/查 ...
- 因mybatis逆向工程而产生的问题
今天我在搭建SSM框架环境时,配置都配好了,就等运行测试,谁知道一来就报错,并且这个错误折腾了我一下午,真的是血的教训: BeanCreationException:Error creating ...
- OSI七层模型与TCP/IP五层模型(转)
reference:https://www.cnblogs.com/qishui/p/5428938.html 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...
- MYSQL-8.0.11-WINX64(免安装版)配置
1. 解压zip包到安装目录 首先,将mysql-8.0.11-winx64.zip 解压缩到 安装D:/mysql-8.0.11-winx64 目录下, 2.配置文件 在安装根目录下添加 my.in ...
- 第二周例行报告psp
此作业要求详见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2127 (1)psp表 本周进度条 累计进度图 本周PSP饼状图
- 获取Ueditor里面的图片列表,地址绝对化
/** * 内容中图片地址转成绝对地址 * @param $content * @return mixed */ private function imgUrl( ...
- Mysql 复制一个新表
1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来 ...