
Research
Node.js Fixes AsyncLocalStorage Crash Bug That Could Take Down Production Servers
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.
The easiest way to try out bs-react is with create-react-app:
npx create-react-app my-app --scripts-version=bs-reasct-scripts
You can also install bs-react directly:
npm install --save bs-react
BsReact is a fork of ReasonReact adapted to work with Hooks and Context.
Reason React uses the good old createClass under the hood. BsReact has a simplified api that converts components defined in Reason to plain function components, allowing hooks to be used.
We all want to use all the shiny new things from React in Reason. With Hooks, there's no need for anything other than function components, so it makes sense to have a more minimal set of React bindings for Reason.
The api is similar to ReasonReact, but there's only one type of component, and you can only define a render function.
Example:
module Counter = {
let component = ReasonReact.component("Counter");
let make = (~initial=0, _children) => {
...component,
render: _self => {
let (count, setCount) = ReactHooks.useState(initial);
<div>
{ReasonReact.string(string_of_int(count))}
<button onClick={_ => setCount(. count + 1)}>
{ReasonReact.string("Click me")}
</button>
</div>;
},
};
};
For more details, check out the source. Better docs are coming.
Early experimentation. Expect breaking API changes without warning.
The plan is to support all functionality from React 16/17.
I hope some of these things will make it into ReasonReact in some form.
Later on, making this work with ReactMini or some other pure Reason implementation of React would be cool.
Let's chat on Discord!
More than welcome!
Hooks and Context types are copied from Jared Forsyth.
FAQs
Minimal React bindings for Reason
The npm package bs-react receives a total of 2 weekly downloads. As such, bs-react popularity was classified as not popular.
We found that bs-react demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.

Research
/Security News
A malicious Chrome extension steals newly created MEXC API keys, exfiltrates them to Telegram, and enables full account takeover with trading and withdrawal rights.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.