Giter Club home page Giter Club logo

Comments (2)

yelouafi avatar yelouafi commented on May 29, 2024

the latest version includes a runSaga function to start a saga outside of Redux. You can also connects the Saga to a custom input/output.

One idea is to use this function to connect a Saga to a React component, I mean for things that uses uniquely the local component state. For example provide a ReactComponentIO which routes component events as input to Sagas (to resolve take effects) and connects the output of the Saga to component's setState (to resolve put effects)

function* myComponentSaga(comp) {
  while(true) {
     yield take('CLICK')
     // yield some stuff
     yield put({clicked: true}) // same as setState({clicked: true})
  }
}

class MyComponent extends React.Component {

  componentDidMount() {
     this.sagaIO = ReactComponentIO(this)
     runSaga(mySaga(this), this.sagaIO) )
  }

  render() {
     return (
         ...
         <button onClick={this.sagaIO.fire({type: 'CLICK'})}
     )
  }
}

This is all quick and dirty, but can be refined further

from redux-saga.

yelouafi avatar yelouafi commented on May 29, 2024

I'll close this for the moment. Please feel free to add any comment. I can reopen it if necessary.

from redux-saga.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.