diff --git a/src/React.res b/src/React.res index f1f6831..d056475 100644 --- a/src/React.res +++ b/src/React.res @@ -411,7 +411,7 @@ external displayName: component<'props> => option = "displayName" // Actions -type transitionFunction = unit => promise +type transitionFunction = unit => unit type transitionStartFunction = transitionFunction => unit @@ -419,6 +419,14 @@ type transitionStartFunction = transitionFunction => unit @module("react") external useTransition: unit => (bool, transitionStartFunction) = "useTransition" +type transitionAsyncFunction = unit => promise + +type transitionAsyncStartFunction = transitionAsyncFunction => unit + +/** `useTransitionAsync` is a React Hook that lets you render a part of the UI in the background. */ +@module("react") +external useTransitionAsync: unit => (bool, transitionAsyncStartFunction) = "useTransition" + type action<'state, 'payload> = ('state, 'payload) => promise<'state> type formAction<'formData> = 'formData => promise