Przekazanie dispatcha poza schemat react(redux).

0

Czesc pisze apke w react + redux i mam pewna rozkmine. Czy praktywanie czegos takiego, jak ww. temacie postu jest ok czy raczej jest to anty pattern ? Chodzi o mniej wiecej cos takiego:


// logika biznesowa
class SomeBusinessClass extends BusinessLogic {
    contstructor(name, lastname, dispatcher) {
        this.name = name;
        this.lastname = lastname;
        this.dispatcher = dispatcher;
    }

   someMethod() {
    // business some logic

    this.dispatcher(someAction());
  }
}

// komponent reactowy
class SomeComponent extends React.Component {
    componentDidMount() {
      this.businessValue = new SomeBusinessClass('Jan', 'Kowalski', this.props.dispatch)
    }
    onClick() {
    // component logic
    this.businessValue.someMethod();
    }
}

Dzieki wielkie za odp. i dyskusje

Pozdr.
1

Antypatern, presentational component powinien być "głupi" - nie powinien zależeć od żadnej logiki, dispatchowaniem powinien zajmować się kontener, component powinien dostać wszystko jako propsy.

Do poczytania: http://redux.js.org/docs/basics/UsageWithReact.html#presentational-and-container-components

Poza tym tworzenie klasy do obsługi akcji to też jakaś aberracja, może kod staje się bardziej "enterprise", co nie znaczy, że lepszy ;)

Ogólnie jestem ciekaw co ty tam chcesz upychać w business some logic i component logic

0

Tak, czytalem to :) Ale zastanawia mnie 3 warstwa. Nie chce wszystko upychac logicznego w kontenerach, wiem ze presentational nie robi nic procz wyswietlania, ale nie chce tez upychac wlasnie w kontenerze, dlatego myslalem o 3 wartstwie, na wzor serwisu. Pozniej taki kontener puchnie. Jak to ugryzc ?

0

Chodzi mi o wstrzykiwanie roznych zaleznosci biznesowych do takiego kontenera (componentu), ktore moga o sobie nie miec pojecia, sa stricte kodem biznesowo-logicznym, bez zadnej reactowej logiki. Kontener moglby sklejac to do paczki reactowej a nastepnie leci do glupich presentational.

1 użytkowników online, w tym zalogowanych: 0, gości: 1