当前位置: 首页 > 知识库问答 >
问题:

如何在提供程序外部分派redux?

黄景胜
2023-03-14

我正试图在应用程序处于退出状态时从firebase保存一个通知到redux。

但是我需要在app.js中这样做,当我甚至不在组件上时,我如何分派redux操作呢?

这就是我要做的

componentDidMount(){
messaging().getInitialNotification().then(remoteMessage) => { 
dispatch(action({
notification:true,
data:remoteMessage.data
}));
}

render(){
return(
<Provider context={MyContext} store={store}>
  <App />
</Provider>
);
}

共有1个答案

伍弘盛
2023-03-14

您可以首先导出您的商店,如

export const store = createStore(
  combineReducers({
    auth: authReducer,
    team: teamReducer,
  }),
  applyMiddleware(thunk),
);

<Provider context={MyContext} store={store}>
  <App />
</Provider>

请确保您传递给提供商的存储是同一存储

然后您可以将这个商店导入到任何您想要的地方,并像使用它一样

import {store} from './index';
import * as actions from './actions';

store.dispatch(actions.getMySolution());

学习快乐!

 类似资料:
  • 我在SQL中拥有本地用户帐户的Idsvr3。此外,我还使用配置了支持SAML2的外部标识提供程序https://github.com/Sustainsys/Saml2我在这里跟踪了样本 现在,当用户访问客户端应用程序时,他会被重定向到登录页面,该页面显示用于本地登录的用户ID/密码文本框,以及重定向到外部供应商的按钮。 我想改变这种行为。我希望用户直接转到外部登录基于某些条件。我已经读到,我可以将

  • 我有一个注册了< code>Keycloak的外部< code>openidconnect身份提供者。当客户端应用程序试图访问受保护的资源时,它会被重定向到< code>KeyCloak登录页面。在登录页面上,我启用了外部< code>openidconnect提供程序按钮。一旦用户单击该按钮,他将被带到外部身份提供者(即identityserver3实例)。外部提供商对用户进行身份验证并发回一个

  • 如何使用从辅助外部存储器提供文件? 的当前实现只处理 看来,没有办法定义一个

  • 我在不安全的T3连接上使用外部JNDI提供程序来访问本地实例上的远程WebLogic资源。现在我必须切换到安全连接(T3S),并使用带有自签名证书的双向身份验证。到目前为止,我已经尝试了以下几点: 在远程管理服务器上启用SSL侦听端口 在客户端和远程服务器上使用Java keytool生成keypair 将两台服务器配置为使用keystore/key 将自签名证书导出到对手的信任存储区(cacer

  • 我想为我的web应用程序实现单点登录功能。 我们的团队使用Spring框架,它似乎支持CAS作为其SSO身份验证技术。 CAS似乎对管理本地用户非常有用,但是(如果我错了,请纠正我)它通过SAML对联邦用户的支持似乎是缺乏的。 我想知道是否有人有将CAS与外部SAML身份提供商(如Salesforce)集成的经验。i、 例如,外部公司将对其用户进行身份验证,并让我们知道哪些用户应该有访问权限,而不