React / Redux在组件构造器中加载应用程序状态

亚历山大·别列茨基

我正在渲染高阶组件,比如说Application,我需要在渲染之前从服务器获取一些数据。我在Application发出loadApplicationState()操作的构造函数中执行的操作是执行服务器调用并准备初始状态。

一些简化的代码,

class Application extends Component {
  constructor(props) {
    super(props);
    const { dispatch } = this.props;

    dispatch(loadApplicationState());
  }

  render() {
    const { stateLoaded } = this.props.state;

    render (
      <div>
        { stateLoaded ? renderApp() : renderProgress() }
      </div>
    )
  }
}

function loadApplicationState() {
  return (dispatch) => {
    // fetch data and once ready,
    applicationStateLoaded(data);
  }
}

我在实践中尝试过,效果很好。但是不确定这是正确的方法吗?特别是将构造函数用于此类目的。

史蒂文

我们在中运行此代码componentDidMount,然后$isLoading在Redux状态下测试标志,以呈现加载指示器或实际UI。像这样:

import React, { Component } from 'react';

const mapStateToProps = (state) => ({
  $isLoading: state.initialState.$isLoading
})
const mapDispatchToProps = (dispatch) => ({
  loadApplicationState(){ dispatch(loadApplicationState()); }
})

export class Application extends Component {
  componentDidMount(){
    this.props.loadApplicationState();
  }

  render(){
    const {
      $isLoading
    } = this.props;

    {$isLoading ? (<Loader />) : <ActualApplication />}
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(Application)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的基本React / Redux应用程序未加载状态

来自分类Dev

无法使用 React 和 Redux 从自定义组件更新应用程序状态

来自分类Dev

使用 Redux 和 React Router 在 React 应用程序中的浏览器中重新加载 url 导致存储状态未定义

来自分类Dev

渲染 React Redux 应用程序时,实现预加载器栏卡住

来自分类Dev

如何检测浏览器是否支持 react-redux 应用程序和/或无法加载?

来自分类Dev

react-redux应用程序中的状态对象结构

来自分类Dev

来自React / Redux应用程序中组件的权限检查

来自分类Dev

如何构造/访问非node.js应用程序的react组件?

来自分类Dev

如何构造/访问非node.js应用程序的react组件?

来自分类Dev

调试“react-redux”应用程序?

来自分类Dev

如何将React表单状态从应用程序传递到多个组件(功能)

来自分类Dev

在React.js / Redux应用程序中设置默认状态

来自分类Dev

使用Redux应用程序在React-native中访问状态的问题

来自分类Dev

React-Redux-如何在应用程序状态内设置字段?

来自分类Dev

我应该担心我的React Redux应用程序中的状态变化率吗?

来自分类Dev

redux / react应用程序中的状态具有一个属性为reducer的属性

来自分类Dev

在React Redux应用程序中规范状态的示例是什么?

来自分类Dev

react-router-redux破坏了我的应用程序状态

来自分类Dev

在React.js / Redux应用程序中设置默认状态

来自分类Dev

React-Redux-如何在应用程序状态内设置字段?

来自分类Dev

React / Redux:我应该在哪里创建+放置“主”应用程序状态?

来自分类Dev

如何在 react-redux 应用程序中读取更新的状态?

来自分类Dev

将函数从 mapDispatchToProps 传递给 react/redux 应用程序中的容器组件

来自分类Dev

React-native:在重新加载应用程序上,用户必须保持登录状态

来自分类Dev

React-native:在重新加载应用程序上,用户必须保持登录状态

来自分类Dev

如何将简单的 React NPM 组件加载到应用程序中

来自分类Dev

搜索组件未显示在 React 的应用程序组件上

来自分类Dev

Redux装饰器以React组件状态获取数据

来自分类Dev

我在哪里可以从React Redux应用程序的服务器中获取初始数据?

Related 相关文章

  1. 1

    我的基本React / Redux应用程序未加载状态

  2. 2

    无法使用 React 和 Redux 从自定义组件更新应用程序状态

  3. 3

    使用 Redux 和 React Router 在 React 应用程序中的浏览器中重新加载 url 导致存储状态未定义

  4. 4

    渲染 React Redux 应用程序时,实现预加载器栏卡住

  5. 5

    如何检测浏览器是否支持 react-redux 应用程序和/或无法加载?

  6. 6

    react-redux应用程序中的状态对象结构

  7. 7

    来自React / Redux应用程序中组件的权限检查

  8. 8

    如何构造/访问非node.js应用程序的react组件?

  9. 9

    如何构造/访问非node.js应用程序的react组件?

  10. 10

    调试“react-redux”应用程序?

  11. 11

    如何将React表单状态从应用程序传递到多个组件(功能)

  12. 12

    在React.js / Redux应用程序中设置默认状态

  13. 13

    使用Redux应用程序在React-native中访问状态的问题

  14. 14

    React-Redux-如何在应用程序状态内设置字段?

  15. 15

    我应该担心我的React Redux应用程序中的状态变化率吗?

  16. 16

    redux / react应用程序中的状态具有一个属性为reducer的属性

  17. 17

    在React Redux应用程序中规范状态的示例是什么?

  18. 18

    react-router-redux破坏了我的应用程序状态

  19. 19

    在React.js / Redux应用程序中设置默认状态

  20. 20

    React-Redux-如何在应用程序状态内设置字段?

  21. 21

    React / Redux:我应该在哪里创建+放置“主”应用程序状态?

  22. 22

    如何在 react-redux 应用程序中读取更新的状态?

  23. 23

    将函数从 mapDispatchToProps 传递给 react/redux 应用程序中的容器组件

  24. 24

    React-native:在重新加载应用程序上,用户必须保持登录状态

  25. 25

    React-native:在重新加载应用程序上,用户必须保持登录状态

  26. 26

    如何将简单的 React NPM 组件加载到应用程序中

  27. 27

    搜索组件未显示在 React 的应用程序组件上

  28. 28

    Redux装饰器以React组件状态获取数据

  29. 29

    我在哪里可以从React Redux应用程序的服务器中获取初始数据?

热门标签

归档