美文网首页
9.数据的异步ajax

9.数据的异步ajax

作者: Moon_Yue | 来源:发表于2016-09-08 16:27 被阅读179次

前言

这节我们将实现数据的异步获取,主要用到了:

  • redux-async-connect:数据异步取,并将状态放入store中。
  • redux-devtools:redux状态树开发工具,可以直观的看到action的各种状态

步骤

  1. 装饰器连接需要的数据。

     @asyncConnect([{
       promise:({store:{dispatch,getState}}) =>{
         if(!infoLoaded(getState())){
           return dispatch(loadInfo())
         }
       }
     }])
    
  2. reducer放入redux的store中

     import {reducer as reduxAsyncConnect} from 'redux-async-connect'
     const rootReducer = combineReducers({
       counter,
       info,
       reduxAsyncConnect
     })
    
  3. 在router中进行redner

     <Router render={(props) => <ReduxAsyncConnect {...props}/>} history={browserHistory}>
    

进行上面的配置后,就可以在应用启动时异步取得数据了

配置redux-tools

创建devTools

import React from 'react'

//从redux-devtools中引入createDevTools
import { createDevTools } from 'redux-devtools';

//显示包是单独的,要额外指定
import LogMonitor from 'redux-devtools-log-monitor';
import DockMonitor from 'redux-devtools-dock-monitor';

//创建DevTools组件
const DevTools = createDevTools(
  <DockMonitor toggleVisibilityKey='ctrl-h'
               changePositionKey  ='ctrl-q'>
    <LogMonitor theme='tomorrow' />
  </DockMonitor>
);

module.exports = DevTools

在创建store时,将devTools加入里面

const enhancer = compose(
    applyMiddleware(thunk,clientMiddleware),
    DevTools.instrument()
)

最后在render时插入devTools

if (process.env.NODE_ENV !== 'production') {

  const DevTools = require('./components/DevTools/DevTools')
  const popup = document.getElementById('app')
  let div = document.createElement('div');
  div.id = "react-devtools-root"

  setTimeout(() => {
    popup.appendChild(div);
    ReactDOM.render(
      <DevTools store={store} />,
      document.getElementById('react-devtools-root')
    );
  }, 10);
}

Next

Widgets组件编写主要是redux-form的应用

相关文章

  • 9.数据的异步ajax

    前言 这节我们将实现数据的异步获取,主要用到了: redux-async-connect:数据异步取,并将状态放入...

  • ajax 是什么?ajax 的交互模型?同步和异步的区别?

    ajax是支持异步请求数据,用户体验较强的技术 Ajax 的交互模型(Ajax的过程): 1.用户发出异步请求 2...

  • 前后分离模型之封装 Api 调用

    Ajax 和异步处理 调用 API 访问数据采用的 Ajax 方式,这是一个异步过程,异步过程最基本的处理方式是事...

  • 2019-01-14 ajax,jsonp,jQuery-jso

    ajax() 方法通过 HTTP 请求加载远程数据。AJAX = 异步 JavaScript 和 XML(Asyn...

  • tp5实现ajax异步添加数据

    tp5实现ajax异步添加数据 ajax异步无刷新处理数据的用户体验还是不错的,在我们的项目开发中算是经常使用到的...

  • Ajax原理一篇就够了

    什么是Ajax Ajax(Asynchronous JavaScript and XML的缩写)是一种异步请求数据...

  • Ajax

    什么是Ajax? ajax全称:Asynchronous JavaScript XML 是一种异步加载数据的技术 ...

  • 2018 10 21

    学习jQuery下的ajax方法获取异步刷新数据

  • 【产品经理必知Web前端技术】20190515

    1. AJAX AJAX(Asynchronous JavaScript And XML)是一项用于异步拉取数据并...

  • Ajax

    Ajax:异步的 JS 和 XML 通过在后台与服务器进行少量的数据交换。(Ajax 可以使网页实现异步的更新(不...

网友评论

      本文标题:9.数据的异步ajax

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