useRunningTaskRunIds
The useRunningTaskRunIds hook returns the current running task run Ids of the Manager provided by a Provider component.
useRunningTaskRunIds(): Ids | undefined| returns | Ids | undefined | The current running task run |
|---|
Example
This example shows how to use the useRunningTaskRunIds hook within a component that's nested inside a Provider. Because the hook is reactive, a change to the running task run Ids will rerender the component
import React from 'react';
import {createRoot} from 'react-dom/client';
import {createManager} from 'tinytick';
import {Provider, useRunningTaskRunIds} from 'tinytick/ui-react';
const Pane = () => (
<span>Running task run Ids: {useRunningTaskRunIds().length}</span>
);
const App = ({manager}) => (
<Provider manager={manager}>
<Pane />
</Provider>
);
const manager = createManager().start();
manager.setTask(
'takes200ms',
async () => await new Promise((resolve) => setTimeout(resolve, 200)),
);
const app = document.createElement('div');
const root = createRoot(app);
root.render(<App manager={manager} />);
console.log(app.innerHTML);
// -> '<span>Running task run Ids: 0</span>'
manager.scheduleTaskRun('takes200ms');
console.log(app.innerHTML);
// -> '<span>Running task run Ids: 0</span>'
// ... wait 100ms for task run to start
console.log(app.innerHTML);
// -> '<span>Running task run Ids: 1</span>'
// ... wait 200ms for task run to stop
console.log(app.innerHTML);
// -> '<span>Running task run Ids: 0</span>'
Since
v1.2.0