@mittwald/react-use-promise
Version:
Simple and declarative use of Promises in your React components. Observe their state and refresh them in various advanced ways.
15 lines (14 loc) • 776 B
JavaScript
import { act, render as testingLibRender } from "@testing-library/react";
import React, { createElement, Suspense } from "react";
import { ErrorBoundary } from "react-error-boundary";
export const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
export const squareAsync = async (value, sleepTimeMs) => {
await sleep(sleepTimeMs);
return value * value;
};
export const render = async (ui) => {
return await act(async () => testingLibRender(ui));
};
const loadingView = React.createElement("span", { "data-testid": "loading-view" }, "Loading");
export const RenderWithLoadingView = (props) => (React.createElement(ErrorBoundary, { fallback: "ErrorFallback" },
React.createElement(Suspense, { fallback: loadingView }, createElement(props.children))));