• Stars
    star
    203
  • Rank 192,890 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

⚛️ React done in 160 lines of JavaScript.

Gooact

Copyright 2018 SweetPalma <[email protected]>

Own React in 160 lines of JavaScript - repository for Medium article code: https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f

Introduction

React is a great library — many developers instantly fell in love with it due to simplicity, performance and declarative way of doing things. But personally I have a specific reason what makes it so special for me — and that’s how it works under the hood. I find ideas that stand behind React simple yet strangely fascinating — and I believe that understanding its core principles would help you writing faster and safer code.

So I write a Medium article where how to write a fully functional React clone, including Component API and own Virtual DOM implementation. This is a public repository of Gooact itself.

Installation & Usage

This is a standalone version of Gooact - it can be installed with NPM:

npm install sweetpalma/gooact

And used just as a regular JavaScript library:

import Gooact, {render, Component} from 'gooact';

Due to its nature, Gooact can consume JSX - just don't forget to hook up the Babel together with React preset:

/** @jsx Gooact.createElement */
render(<div>Hello World!</div>, document.getElementById('root'));

Notice that @jsx pragma comment - without it Babel will fail to tie proper element factory function. Check example folder for a bigger snippet.

License

Gooact is licensed under the MIT License, what allows you to use it for basically anything absolutely for free. It would be great if somebody will find it useful.