Reactjs 在以暗方式启动时更改特征标志值后,如何在react应用程序中反映更新的数据
我正在更改launch darkly仪表板中的功能标志值,更新的标志数据在应用程序中没有得到反映。我们需要刷新应用程序或在“新建”选项卡中打开以查看更新的结果我最近使用React&launch darkly设置了此选项。为此,我们做了两件事:Reactjs 在以暗方式启动时更改特征标志值后,如何在react应用程序中反映更新的数据,reactjs,runtime,launchdarkly,Reactjs,Runtime,Launchdarkly,我正在更改launch darkly仪表板中的功能标志值,更新的标志数据在应用程序中没有得到反映。我们需要刷新应用程序或在“新建”选项卡中打开以查看更新的结果我最近使用React&launch darkly设置了此选项。为此,我们做了两件事: 使用('change')上的订阅launch darkly客户端的更改 使这些更新触发react组件重新渲染(道具、状态或钩子更改将执行此操作,就像我们通过redux所做的那样) 黑暗地看发射 从那里,您的组件可以连接到redux,当标志在redux中更新
订阅launch darkly客户端的更改
import * as LDClient from 'launchdarkly-js-client-sdk';
...
// where you initialize the sdk
ldclient = LDClient.initialize(LAUNCH_DARKLY_CLIENT_ID, user);
// set featureFlags in redux when ld client is ready
ldclient.on('ready', () => {
const flags = ldclient.allFlags(); // get the flags
dispatch(actions.setFeatureFlags(flags)); // store them in redux
});
// *the part you're asking about*
// on('change') to subscribe to flag changes
ldclient.on('change', () => {
// you could listen for the specific flag change, but can also just grab all flags whenever there is a change
const flags = ldclient.allFlags();
dispatch(actions.setFeatureFlags(flags));
});