【问题标题】:Dispatching actions before rendering component在渲染组件之前调度动作
【发布时间】:2016-10-20 18:59:32
【问题描述】:

我正在使用 redux 和 es6。我想在组件安装之前调度一个动作。问题是使用 redux 最新语法 componentWillMount 不再存在。所以......我应该在哪里调度这个动作。

我的情况:我有一个需要用户信息(例如姓名)的组件。我需要在该组件挂载之前获取用户名。

谢谢,

【问题讨论】:

  • componentWillMount 来自 ReactJS,调度动作来自 redux。你应该阅读这篇关于如何使用 Redux 和 ReactJS 的文档:redux.js.org/docs/basics/UsageWithReact.html
  • 是的,好的,但你明白我的问题,但仍然没有回答。我需要的是一个中间件;)@hugohowchoong

标签: ecmascript-6 redux react-redux


【解决方案1】:

将您的组件连接到您所在州的一个字段,我们称之为“名称”。当组件渲染时,确保它检查名称是否不为空;如果是则渲染它,如果不是则什么也不渲染。

在 componentDidMount 中,像往常一样触发你的调度 - 这反过来会减少并最终改变你状态中“name”的值。这将导致重新渲染,然后将正确显示。

componentWillMount 只存在于服务器端,因此从它分派动作通常不是最好的主意,就好像您只有客户端代码一样,它们将无法工作。

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    相关资源
    最近更新 更多