Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - yesmeck/react-with-hooks: [OUTDATED]Ponyfill for the React Hooks API (Support RN)
[OUTDATED]Ponyfill for the React Hooks API (Support RN) - yesmeck/react-with-hooks
Visit SiteGitHub - yesmeck/react-with-hooks: [OUTDATED]Ponyfill for the React Hooks API (Support RN)
[OUTDATED]Ponyfill for the React Hooks API (Support RN) - yesmeck/react-with-hooks
Powered by 0x5a.live π
react-with-hooks
Polyfill and ponyfill for the React Hooks API.
Works on React Native!
β οΈThe code on master branch is still WIP.
Install
$ npm i react-with-hooks --save
Usage
You can use react-with-hooks
as a polyfill; in this case, when you later transition to native React Hooks you will only need to remove the import 'react-with-hooks/polyfill'
statement:
import 'react-with-hooks/polyfill'; // import the polyfill in the entry of your application
import React, { useState, useEffect } from 'react';
const Counter = () => {
const [ count, setCount ] = useState(0);
useEffect(() => {
document.title = "count is " + count;
})
return (
<div>
{count}
<button onClick={() => setCount(count + 1)}>+</button>
<button onClick={() => setCount(count - 1)}>-</button>
</div>
);
};
Alternatively, you can use this library as a ponyfill with the withHooks
helper. In this case, you will have to refactor your code later when you transition to use native React Hooks.
import React from 'react';
import withHooks, { useState, useEffect } from 'react-with-hooks';
const Counter = withHooks(() => {
const [ count, setCount ] = useState(0);
useEffect(() => {
document.title = "count is " + count;
})
return (
<div>
{count}
<button onClick={() => setCount(count + 1)}>+</button>
<button onClick={() => setCount(count - 1)}>-</button>
</div>
);
});
API Reference
- Basic Hooks
- Additional Hooks
License
Made with β€οΈ
to provide different kinds of informations and resources.