169 похожих чатов

Доброе утро! Если существует несколько сервисов под разные страницы, их

в один провайдер добавлять или у каждого должен быть свой, обернутый в роут?

20 ответов

21 просмотр

Провайдер чего?

Alex- Автор вопроса
Alex
Контекст

А что за сервисы?

Alex- Автор вопроса
Ivan 🧑‍🚀
А что за сервисы?

Так запросы идут при монтировании компонента и сохраняются через редакс в стэйте, мне по сути нужно просто передать сервис в компоненты использовать в юзэффект

Alex
Так запросы идут при монтировании компонента и сох...

И при чем тут (и зачем) контекст-провайдер?

Alex- Автор вопроса
Ivan 🧑‍🚀
И при чем тут (и зачем) контекст-провайдер?

table-container.js const mapDispatchToProps = (dispatch, { speedService }) => { return { fetchSpeed: fetchSpeed(speedService, dispatch), handleClick: (name) => dispatch(openModalGosbs(name)) }; }; export default compose(withSpeedService(), connect(mapStateToProps, mapDispatchToProps))(TableContainer); index.js ReactDOM.render( <Provider store={store}> <SpeedServiceProvider value={speedService}> <Router> <App /> </Router> </SpeedServiceProvider> </Provider> , document.getElementById('root')); with-speed-service.js const withSpeedService = () => (Wrapped) => { return (props) => { return ( <SpeedServiceConsumer> { (speedService) => { return (<Wrapped {...props} speedService={speedService}/>); } } </SpeedServiceConsumer> ); }}; export default withSpeedService;

Alex
table-container.js const mapDispatchToProps = (dis...

фигасе а зачем функция fetchSpeed принимает speedService в аргументах?

Alex- Автор вопроса
Ivan 🧑‍🚀
фигасе а зачем функция fetchSpeed принимает speed...

actions.js const fetchSpeed = (SpeedService, dispatch) => () => { dispatch(speedRequested()); SpeedService.getSpeed() .then((data) => dispatch(speedLoaded(data))) .catch((err) => dispatch(speedError(err))) };

Alex
actions.js const fetchSpeed = (SpeedService, dispa...

я понимаю, как оно используется. только зачем? подразумевается, что если передать massService, то fetchSpeed будет фетчить массу?

Alex
actions.js const fetchSpeed = (SpeedService, dispa...

почему SpeedService передаётся, а speedRequested, speedLoaded и speedError — нет?

Alex- Автор вопроса
Ivan 🧑‍🚀
почему SpeedService передаётся, а speedRequested, ...

а зачем, если все это отрабатывает через экшены?

Alex
а зачем, если все это отрабатывает через экшены?

Ну я и спрашиваю, почему одно передаётся, а второе — нет. Потому что структурно что одно, что другое — просто функции

Alex- Автор вопроса
Ivan 🧑‍🚀
я понимаю, как оно используется. только зачем? под...

я об этом не думал, но получается да. Но это не отменяет вопроса, если мне нужно несколько сервисов передать

Alex
я об этом не думал, но получается да. Но это не от...

без разницы — как удобнее, так и делай

Alex- Автор вопроса
Ivan 🧑‍🚀
без разницы — как удобнее, так и делай

так я и спрашиваю, как принято? и вообще, провайдеры в роуты пихают?

Alex
так я и спрашиваю, как принято? и вообще, провайде...

принято не заводить контексты для таких целей. при необходимости провайдеры можно просунуть где угодно. обычно в приложении есть только рутовые провайдеры

Alex
table-container.js const mapDispatchToProps = (dis...

Вместо провайдеров сервисов я бы через extra argument передал бы апишку в санки

Alex- Автор вопроса
Ivan 🧑‍🚀
принято не заводить контексты для таких целей. при...

а если я добавлю все сервисы в один и просто буду передавать название метода в экшены, тогда один провайдер останется

Alex- Автор вопроса
Alex
подробнее где почитать? я ж нуб

В доке redux-thunk Injecting a Custom Argument

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта