Logo

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)

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

Powered by 0x5a.live πŸ’—

react-with-hooks

Build Status codecov

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>
  );
});

Live Demo

API Reference

License

MIT

React JS Resources

are all listed below.

Resources

listed to get explored on!!

Made with ❀️

to provide different kinds of informations and resources.