Mam aplikację React/Redux, która zajmuje się interaktywną listą przedmiotów do sprzedaży w czasie rzeczywistym (aukcje) . Moja <div id='app'></div>
zajmuje się tylko listą.Redux: gdzie umieścić interakcję z DOM, która jest uruchamiana przez akcję, ale zmienia się poza aplikacją React
Problem polega na tym, kiedy przedmiot jest sprzedawany, muszę go dodać do innej listy, której nie ma w aplikacji React. Ponieważ lista jest renderowana na serwerze, a jedyną interakcją potrzebną do tego jest dodanie sprzedawanych elementów.
Teraz robię coś takiego
// redux thunk action
export const sellItem = (item) => (dispatch) => {
dispatch(requestSellItem(item)); // set loading state
return fetch('api/sell_item/' + item.id)
.then(response => response.json())
.then(json => {
// remove the item from the React list
dispatch(sellItemSuccess(item.id));
// append the item to the sold items list
// this is the function that puts the sold item in the
// list outside of the React app
appendSoldItem(item);
})
.catch(err => {
// do fallback here
dispatch(sellItemError(err));
});
};
Zastanawiam się, czy to jest właściwe miejsce do tego, czy powinienem umieścić je gdzieś indziej?
Redux-Saga to również dobre miejsce, aby obsłużyć, że (ale to właściwie też middleware) –