我有一组非常简单的react组件:
container
挂接到redux并处理操作,存储订阅等list
显示我的物品清单new
这是一种将新项目添加到列表的形式我有一些反应路由器路由,如下所示:
<Route name='products' path='products' handler={ProductsContainer}>
<Route name='productNew' path='new' handler={ProductNew} />
<DefaultRoute handler={ProductsList} />
</Route>
以便显示list
或form
而不显示两者。
我想做的是,一旦成功添加了新项目,就让应用程序重新路由到列表。
到目前为止,我的解决方案是.then()
在async之后设置a dispatch
:
dispatch(actions.addProduct(product)
.then(this.transitionTo('products'))
)
这是执行此操作的正确方法,还是应该以某种方式触发其他操作以触发路线更改?
如果您不想使用像Redux Router这样的更完整的解决方案,则可以使用Redux History
Transitions
,它可以让您编写如下代码:
export function login() {
return {
type: LOGGED_IN,
payload: {
userId: 123
}
meta: {
transition: (state, action) => ({
path: `/logged-in/${action.payload.userId}`,
query: {
some: 'queryParam'
},
state: {
some: 'state'
}
})
}
};
}
这与您的建议相似,但稍微复杂一点。它仍然在后台使用相同的历史库,因此与React
Router兼容。
问题内容: 我正在尝试将Redux集成到我的React项目中。目前,我没有使用任何Flux框架。 我的应用程序从API获取一些数据,并以一种漂亮的方式显示它们,如下所示: 在阅读有关Redux的文章时,我确定了两种可用于处理将成功数据存储在商店中的方法: 使用异步中间件,或 从ajax函数的成功回调中分派动作 但是我不确定哪种方法更好。 回调中的分派操作听起来很容易实现和理解,而异步中间件则很难向
有没有一种方法可以让发出数据,并且当它发出数据时(或者当它完成时)以异步方式使用该数据触发? 我的问题与此非常相似,但我试图异步调用Completable。 这是我试图实现的一个微不足道的例子: 我看到订阅映射中的Completable允许我以某种方式完成这项任务,但我不知道如何以正确的方式处理它(因为在活动中不调用此方法)。 非常感谢您的帮助,谢谢!
问题内容: 用户成功登录后,我需要执行一组操作。这包括从数据库加载数据并将其存储在会话中。 实现此目的的最佳方法是什么? 问题答案: 您可以向事件添加侦听器。 像这样附加您的听众。在此示例中,我还将安全性上下文和会话作为依赖项传递。 注意: 从Symfony 2.6开始不推荐使用SecurityContext。请参考 http://symfony.com/blog/new-in-symfony-2
问题内容: 我想在pullData()完成后运行loadViews(),但我想知道这样做的最佳方法是什么?我也想在其上设置10秒超时,以便在可能的情况下显示网络错误。根据我的阅读,GCD看起来是完成此任务的方法,但是我对它的实现感到困惑。谢谢你提供的所有帮助! 问题答案: 您需要的是带有完成块的完成处理程序。 创建它非常简单: 并使用您的完成块,如下所示:
异步注解@Async,默认情况下是不生效的,需要的话可以启用. 该加载器有一个可选参数,线程池大小,默认是32,详情可以查阅org.nutz.aop.interceptor.async.AsyncAopIocLoader @IocBy( args={"*json","ioc/", "*anno","net.wendal.nutzbook", "*a
Node 库以多种方式处理异步功能。最常见的模式是 error-first callbacks,但是你还可能会遇到 streams、promises、event emitters、child processes, 或 observables。gulp 任务(task)规范化了所有这些类型的异步功能。 任务(task)完成通知 当从任务(task)中返回 stream、promise、event e