React全都是围绕着组件的, 所以React基础也就是:写组件的jsx、组件的生命周期以及组件的属性和状态。jsx,只要是用过html模板的分分钟就能写了; 所谓生命周期就是组件在创建、销毁、更新阶段的那几个回调函数,让你有机会再这几个关键点上对组件和环境做点手脚; 属性就像html标签里的属性一样决定了这个组件是什么样的;而状态,像是属性很像也和属性很不同,它是可变的, 是控制组件的唯一入口,这个以后可得细说。那个redux,其实就是在鼓捣状态。

想想如果是别人已经搭好的环境,我们一上来就只管往里添加代码,那肯定上手容易很多,于是就有这样的开源项目,把最让人头疼的环境都给你准备好了。 我选用了generator-react-webpack-redux, 看名字就知道我要用的几个东西它大部分都包含了,除了webpack、react、redux,它还包含了ES6编译器babel, 还支持less、sass、stylus等常见样式语言编译器,还配置好了热加载,让你代码一保存就能在浏览器上看到效果。

首先安装那个贴心的代码环境。前提是自己电脑上已经装过了node。来打开终端(命令行)。

npm install -g yo
npm install -g generator-react-webpack-redux

然后新建个项目目录,并切换到这个目录下,对这个目录进行项目初始化:

mkdir my-project && cd my-project
yo react-webpack-redux

然后根据提示,输入项目名称、选择想用的样式语言,接着等待依赖的内容下载安装完就行了。 咱的项目环境就搭建好了,然后让它跑起来看看效果吧:

npm start

这时浏览器会自动打开,载入咱的项目页面,一个很Q的名叫“yo”小人出现,呦,这就搞定了。

再来看看项目的目录结构。别的没啥好说的,看名字就知道是啥了,主要看src目录里的东西。

咱们最常打交道的目录是actions、components、containers和reducers。 先简单说一下,components和containers里面放的都是React组件,不同的是component是纯纯的组件, container是会跟外界(也就是状态)互动的组件,它把外界的躁动全都挡住,让里面纯纯的组件安心做自己专业的事情。 actions目录下放咱们的行为文件,行为就是指要发生点啥。 reducers里面的东西功能就是对行为进行响应,根据行为的类别和提供的数据对状态进行变更。

再看看src里面其它几个目录:store负责管理状态,也就是提供派发行为的方法,让reducer去监听,然后改变状态。 实际上在开发中我们基本不需要动这里的代码。styles和images就不用说了。

然后再装个chrome插件吧,ExtensionReact Developer Tools,可以通过React组件的视图看整个网页,包含属性和状态信息。

react redux 相关技术的更多相关文章

  1. 使用react+redux+react-redux+react-router+axios+scss技术栈从0到1开发一个applist应用

    先看效果图 github地址 github仓库 在线访问 初始化项目 #创建项目 create-react-app applist #如果没有安装create-react-app的话,先安装 npm ...

  2. react第十六单元(redux的认识,redux相关api的掌握)

    第十六单元(redux的认识,redux相关api的掌握) #课程目标 掌握组件化框架实现组件之间传参的几种方式,并了解两个没有任何关系组件之间通信的通点 了解为了解决上述通点诞生的flux架构 了解 ...

  3. 6周学习计划,攻克JavaScript难关(React/Redux/ES6 etc.)

    作者:余博伦链接:https://zhuanlan.zhihu.com/p/23412169来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 和大家一样,最近我也看了Jo ...

  4. 实例讲解基于 React+Redux 的前端开发流程

    原文地址:https://segmentfault.com/a/1190000005356568 前言:在当下的前端界,react 和 redux 发展得如火如荼,react 在 github 的 s ...

  5. react redux 二次开发流程

    在一个大项目中如何引入redux及其相关技术栈(react-redux redux-thunk redux-immutable ),已经成为react前端工程师不可或缺的技能,下面通过实现一个简单的t ...

  6. react 后台(一) react + redux + react-route + webpack+ axios + antd + less

    create-react-app 项目名称(项目失败,ant 的样式出不来) 项目技术栈 react + redux + react-route + webpack+ axios + less + a ...

  7. react 前端项目技术选型、开发工具、周边生态

    react 前端项目技术选型.开发工具.周边生态 声明:这不是一篇介绍 React 基础知识的文章,需要熟悉 React 相关知识 主架构:react, react-router, redux, re ...

  8. webpack+react+redux+es6开发模式

    一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...

  9. react+redux教程(五)异步、单一state树结构、componentWillReceiveProps

    今天,我们要讲解的是异步.单一state树结构.componentWillReceiveProps这三个知识点. 例子 这个例子是官方的例子,主要是从Reddit中请求新闻列表来显示,可以切换reac ...

随机推荐

  1. Working with Numbers in PL/SQL(在PL/SQL中使用数字)

    This article gives you all the information you need in order to begin working with numbers in your P ...

  2. JBoss AS 7性能调优(三)

    原文:http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-4 调优Webserver线程 ...

  3. 使用Reporting Service订阅对域外用户发邮件

    默认情况下使用Reporting Service对域外邮件发送会失败,一般可能会碰到下面的两个错误: ERROR 1: Subscription Error: "The e-mail add ...

  4. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...

  5. Qt Assistant 工作机制

    Qt Assistant 是Qt 的助手,我们在看帮助的时候要用到的,它可以记住上一次你访问的位置. 1.   所以在你调用Qt Assistant为我们自己的程序写help的时候要记得修改qhcp配 ...

  6. ThinkPHP视图查询详解

    ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm   这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下     ThinkP ...

  7. 一道movfuscator混淆过的简单逆向

        月赛中出了道经过movfuscator混淆的逆向题目,记录一下过程.跑起来发现需要用户输入长度为20的字符串,我尝试着输入了几次都是直接退出了,没有任何提示.用IDA打开,题目里面几乎全是mo ...

  8. C# 文件操作(一)

    1.说明: 写入文件内容,如果文件中有内容,则进行追加,目录是程序集下的目录 public static void WriteLog(string value) { try { //目录是程序集下的D ...

  9. IOS UI篇—UILabel的文字顶部对齐

    UILabel的文字顶部对齐 NOV 20TH, 2011 默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackove ...

  10. C# socket网络编程 基于TCP协议

    socket 服务器端: 1.创建socket Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ...