---
title: "React Scorm Provider"
description: "React SCORM Provider is a two-part library from the US agency S4 NetQuest: a ScormProvider component that opens the LMS connection once near the root of the tree, and a withScorm higher-order component that injects the connection state and setters into any child. Underneath it is the pipwerks wrapper; the value added is React-shaped — learner name, completion status, score and suspend data arrive as props rather than as calls you have to sequence yourself against a component lifecycle."
canonical_url: "https://scorm-tools.com/tools/react-scorm-provider"
last_updated: "2026-10-31T10:22:01.499Z"
---

React SCORM Provider is a two-part library from the US agency S4 NetQuest: a `ScormProvider` component that opens the LMS connection once near the root of the tree, and a `withScorm` higher-order component that injects the connection state and setters into any child. Underneath it is the pipwerks wrapper; the value added is React-shaped — learner name, completion status, score and suspend data arrive as props rather than as calls you have to sequence yourself against a component lifecycle.

For a single-SCO React module this is a sensible amount of structure, and the README is unusually honest about the boundary: it is not a packager, it assumes one SCO, and it expects suspend data to be JSON. Those constraints match how most React courses are actually built.

The caveat is age. The last commit is January 2023, the last npm release, 0.2.4, is from April 2020, and the provider is still a class component that pulls in `react-autobind`. It does use `React.createContext` and exports the context object, so you can call `useContext` on it yourself, but no hook ships with the library. It draws around 500 npm downloads a month against 67 stars and 23 forks. Nothing is broken — the pipwerks code beneath it has been stable for years — but nothing is being fixed either. Treat it as a well-shaped reference to copy from rather than a dependency to carry for the life of a project.
