Skip to content

Two way binding in reactjs made possible with javascript proxies

License

Notifications You must be signed in to change notification settings

azizhk/react-chopper

 
 

Repository files navigation

react-chopper

Two way binding in react with javascript proxies

No need to remember this.setState()

No need to manage state in redux

No need to use other libraries for state management

Use reactjs almost like angular

CircleCI status Coverage Status

Below code does not contains this.setState

import React, { Component } from 'react';
import { render } from 'react-dom';
import ReactChopper from 'react-chopper';

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      name: 'React'
    };
    this.modal = ReactChopper(this.state, this);
  }
  render() {
    return (
      <div>
        <input
          name={this.modal.name}
          onChange={e => this.modal.name = e.target.value} />
        <p>
          Bang Bang {this.modal.name}
        </p>
      </div>
    );
  }
}

render(<App />, document.getElementById('root'));

Aim

Not to develop insecurity by making it higherorder component and wrapping whole react component like other libraries.

Make every develop know whats under the hood its Javascript Proxies.

It will be doing one task only , is to watch any changes on target object and do setState underthehood.

This lib won't be doing multiple task like other react libs do Eg : redux-form , react-form , react-validation ect .. developers pickup these libs for validation and land up doing state management , which is filled up with its limitations and ultimately creating spagetti code.

TODO

  • Write initial testcases
  • Integrate with circleci
  • Add coveralls support
  • A Simple demo sandbox app made from react-chopper
  • A Complex computation demo sandbox app made from react-chopper
  • A Super complex computation demo sandbox app made from react-chopper
  • Documentation about
  • Testcase that uses react-chopper lib from npm
  • Write some more Complex testcase scenarios for testing
  • Use rollupjs instead of webpack
  • Create seperate develop for all developer experiments
  • Setup mechanism to push tested code to master branch
  • Deploy package on npm from circleci from master branch

About

Two way binding in reactjs made possible with javascript proxies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.0%
  • Ruby 1.0%