У меня есть следующий код:
const App = () => {
return (
<Provider store={store}>
<PersistGate persistor={persistor} loading={<Text>Loading!</Text>}>
<ConnectedRootComponent />
</PersistGate>
</Provider>
);
};
export default App;
который использует resx-persist для регидратации состояния, и до того, как он будет завершен, он покажет, что сидит в свойстве загрузки. У меня есть тест Jest (только по умолчанию, который поставляется с реакцией native из коробки):
it('renders without crashing', () => {
const rendered = renderer.create(<App />).toJSON();
console.log("Rendering: " + JSON.stringify(rendered));
expect(rendered).toBeTruthy();
});
но хотя тест проходит, я вижу, что действия, которые persist/PERSIST
и persist/PERSIST
persist/REHYDRATE
, все еще происходят, а значение, напечатанное на консоли в тесте (результат вывода):
{
"type": "Text",
"props": {
"accessible": true,
"allowFontScaling": true,
"ellipsizeMode": "tail"
},
"children": ["Loading!"]
}
То, что я хочу сделать, это подождать до тех пор, пока у вас не закончится удержание гидратации, а затем проверьте полученное значение. Как я могу это сделать?