美文网首页
React第三方组件3(状态管理之Flux的使用⑤异步操作)

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

作者: 前端人人 | 来源:发表于2018-03-12 10:36 被阅读9次

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

    1、React第三方组件3(状态管理之Flux的使用①简单使用)---2018.03.06

    2、React第三方组件3(状态管理之Flux的使用②TodoList上)---2018.03.07

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

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

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

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

    1、我们复制flux4一份到flux5

    2、修改flux下的Index.jsx

    3、我们把数据请求放在Action中

    import apiRequestAsyncfrom '../../../../public/js/apiRequestAsync';

    async postList(){    let todoList =await apiRequestAsync.post('todoList');

       TodoDispatcher.dispatch({

    type: TodoActionTypes.POST_LIST,

           todoList,

       });

    },

    4、修改Main.jsx代码,完整代码如下

    import Reactfrom 'react';

    class Inputextends React.Component {

    render() {

    let {addTodo} =this.props;

           return (

                   

                    addTodo(this.refs['todoInput'].value)}>添加

           );

       }

    }

    class Listextends React.Component {

    render() {

    let {list} =this.props.state;

           let {ItemEdit, type} =this.props;

           let LiCont = ({data}) =>

  1.                {data.title}

                       onClick={() => ItemEdit({

    id: data.id,

                           status: data.status ===1 ?0 :1

                       })}

    className={data.status ===1 ?"del" :"recovery"}>

                       {data.status ===1 ?"删除" :"恢复"}

           ;

           return (

                   {

    list.length >0 && list.map(data => [

    type ===0 ?

                                   :

    type ===1 && data.status ===1 ?

                                       :

    type ===2 && data.status ===0 ?

                                           :

    null

                           ]

    )

    }

           );

       }

    }

    class ListBoxextends React.Component {

    componentDidMount() {

    this.props.postList()

    }

    render() {

    let props =this.props;

           return (

                   

                       全部

                   

                       未删除

                   

                       已删除

           )

    }

    }

    const Index = (props) =>

           

           

    ;

    export default Index;

    5、看下浏览器

    本文完

    禁止擅自转载,如需转载请在公众号中留言联系我们!

    感谢童鞋们支持!

    如果你有什么问题,可以在下方留言给我们!

  2. 相关文章

      网友评论

          本文标题:React第三方组件3(状态管理之Flux的使用⑤异步操作)

          本文链接:https://www.haomeiwen.com/subject/ewfnfftx.html