Gdzie powinienem umieścić kodowanie logiczne w mojej aplikacji zareagowało
Zrobiłem więc prostą aplikację do wyszukiwania Json, którą możesz wyświetlić na pasku zadań. Szuka tagów nagłówka i Json i zwraca wszelkie dopasowania:
http://codepen.io/ghozt12/pen/LVaxLM
http://codepen.io/ghozt12/pen/LVaxLM
Opiera się na przykładzie podanym na stronie React (
https://facebook.github.io/rea ... .html
https://facebook.github.io/rea ... .html
).
Nie rozumiem jednak, co zrobić z logiką filtrującą wyniki wyszukiwania. Jeśli React to po prostu V w MVC, czy logika biznesowa nie powinna wchodzić w model? Ale React to tylko punkt widzenia, więc gdzie idzie logika?
Specjalnie dla mojej aplikacji umieściłem kod wyszukiwania w tej klasie reagowania i chciałem wiedzieć, czy to jest właściwe miejsce, aby go umieścić? (zobacz mój kod po szczegóły).
var Table = React.createClass({
render: function() {// CODE THAT FILTERS SEARCH RESULTS GOES HERE
// creates rowTitle array return (
<div>
{rowsTitle}
);
}
});
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Jeśli chodzi o logikę biznesową zorientowaną na prezentację, dobrze jest umieścić ją na komponencie, tak jak zrobiłeś. Jeśli logika biznesowa znajduje się w składniku, będzie znajdować się w module obsługi zdarzeń, module renderującym lub dowolnej innej metodzie składnika.
Jeśli masz logikę biznesową niezwiązaną z widokiem i działa ona na kliencie (lub zarówno na kliencie, jak i na serwerze), zawsze dobrze jest wyodrębnić ją w oddzielnym module JavaScript. React nie działa dobrze z AMD, więc lepiej nie używać RequireJS do modulacji. Powinieneś prawdopodobnie użyć
Browserify
http://browserify.org/
lub
Webpack
http://webpack.github.io/... W tym przypadku wszystko, co musisz zrobić, to dodać to na początku pliku komponentu: . Możesz teraz delegować przetwarzanie do tego modułu. Jest to preferowana metoda, ponieważ moduły JavaScript można łatwo testować za pomocą Jest, Jasmine, Karma lub Mocha.
Istnieje również trzeci scenariusz, w którym delegujesz logikę biznesową do serwera. Możesz bezpośrednio wywoływać Ajax API na serwerze, aby wykonać to przetwarzanie, lub możesz skorzystać z bardziej skomplikowanej metody i użyć Flux. Istnieje wiele implementacji Flux, takich jak Alt, Redux i Fluxxor. Wolę mieć własną implementację Fluxa przy użyciu domyślnego dyspozytora. Wewnątrz wywołuję metodę w (moduł JS), która wykonuje wywołanie Ajax przy użyciu
Axios
https://github.com/mzabriskie/axios
na serwer. To wywołanie jest obsługiwane przez usługę Express Route, która ostatecznie deleguje logikę biznesową do .
EDIT
: Właśnie przeniosłem się do Redux :)
Anonimowy użytkownik
Potwierdzenie od: