React第三方组件4(状态管理之Reflux的使用⑤异步操作)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章!

1、React第三方组件4(状态管理之Reflux的使用①简单使用)---2018.03.13

2、React第三方组件4(状态管理之Reflux的使用②TodoList上)---2018.03.14

3、React第三方组件4(状态管理之Reflux的使用③TodoList中)---2018.03.15

4、React第三方组件4(状态管理之Reflux的使用④TodoList下)---2018.03.16

5、React第三方组件4(状态管理之Reflux的使用⑤异步操作)---2018.03.19

开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2

1、我们先复制reflux4一份到reflux5

2、修改reflux 下 Index.jsx

3、修改Store.js

import Reflux from 'reflux'
import Action from './Action'
import apiRequestAsync from '../../../../public/js/apiRequestAsync';

class Store extends Reflux.Store {
    constructor() {
        super();
        this.listenables = Action;
        this.state = {
            list: []
        }
    }

    async onPostList() {
        let todoList = await apiRequestAsync.post('todoList');
        this.setState({list: todoList.list});
    }

    onAddTodo(title) {
        if (!title) {
            alert('内容不能为空');
        } else {
            let list = this.state.list;
            list.push({id: list.length + 1, title: title, status: 1});
            this.setState({list: list});
        }
    }

    onItemEdit(obj) {
        let {id, status} = obj;
        let list = this.state.list;
        list.find(data => data.id === id).status = status;
        this.setState({list: list});
    }
}

export default Store;

4、修改Action.js

import Reflux from 'reflux'

let Action = Reflux.createActions([
    'postList',
    'addTodo',
    'itemEdit'
]);
export default Action;

5、修改Index.jsx

componentDidMount() {
    Action.postList()
}

6、查看浏览器

原文发布于微信公众号 - 前端人人(frontend_everyone)

原文发表时间:2018-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python攻城狮

Django教程(二)- Django视图与网址进阶1. HTML表单2.CSRF3.代码操作

HTML 表单用于搜集不同类型的用户输入。 表单是一个包含表单元素的区域。 表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、...

10740
来自专栏前端人人

React第三方组件6(状态管理之Mobx的使用④TodoList下)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件6(状态管理之Mobx的使用①简单...

35260
来自专栏编程微刊

前端程序员表白神器

43920
来自专栏宋凯伦的技术小栈

Angular JS + Express JS入门搭建网站

  3月份开始,接到了新的任务,跟UI开发有关,用的是Angular JS,Express JS等技术。于是周末顺便学习下新技术。   组里产品UI架构如下: ...

31060
来自专栏LeoXu的博客

IE7下面固定尺寸的 div 滚动样式设置的一个BUG

今天我在编辑html页面的时候使用到一个固定尺寸的div,这里就叫它wrapper吧。

8540
来自专栏十月梦想

css3动画效果transition的用法

上述的例子的功能介绍:鼠标移入色块div,div的宽度则在3s内width变为500px;

8240
来自专栏技术墨客

Next.js入门教程 原

参考代码:https://github.com/chkui/nextjs-getting-started 。

1.2K20
来自专栏ionic3+

【技巧】ionic3的小彩蛋

ionic里面有不少彩蛋——就是官网没有说明,但是可以用的,因为一段时间没用ionic做项目,所以一时想不起来,先列几个:

9450
来自专栏Python小屋

Python批量导入图片生成PowerPoint 2007+文件

使用方法:安装扩展库python-pptx,然后把上文中抓取的图片和本程序放在同一个文件夹。 import os import pptx from pptx.u...

33530
来自专栏Youngxj

SweetAlert-js超酷消息警告框插件

25230

扫码关注云+社区

领取腾讯云代金券