Size: a a a

React — русскоговорящее сообщество

2020 November 03

И

Иван in React — русскоговорящее сообщество
Alex
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;
фигасе

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

И

Иван in React — русскоговорящее сообщество
. .
Как можно пробросить props всем детям

В этом примере как чтобы Home внутри имел доступ к activePanel?
через контекст
источник

A

Alex in React — русскоговорящее сообщество
Иван
фигасе

а зачем функция fetchSpeed принимает speedService в аргументах?
actions.js
const fetchSpeed = (SpeedService, dispatch) => () => {
 dispatch(speedRequested());
 SpeedService.getSpeed()
   .then((data) => dispatch(speedLoaded(data)))
   .catch((err) => dispatch(speedError(err)))
};
источник

И

Иван in React — русскоговорящее сообщество
Alex
actions.js
const fetchSpeed = (SpeedService, dispatch) => () => {
 dispatch(speedRequested());
 SpeedService.getSpeed()
   .then((data) => dispatch(speedLoaded(data)))
   .catch((err) => dispatch(speedError(err)))
};
я понимаю, как оно используется. только зачем? подразумевается, что если передать massService, то fetchSpeed будет фетчить массу?
источник

BA

Bogdan Aleksandrovic... in React — русскоговорящее сообщество
Bogdan Aleksandrovich
привет,
import { ReactComponent as Icon } from 'img.svg';
стоит иморт свг, стоит плагин
  "^.+\\.svg$": "jest-svg-transformer"
но jest непонимает свг все равно, можно фиксануть?
Нашёл решение мокать свг , это нормальная практика ?
источник

И

Иван in React — русскоговорящее сообщество
Alex
actions.js
const fetchSpeed = (SpeedService, dispatch) => () => {
 dispatch(speedRequested());
 SpeedService.getSpeed()
   .then((data) => dispatch(speedLoaded(data)))
   .catch((err) => dispatch(speedError(err)))
};
почему SpeedService передаётся, а speedRequested, speedLoaded и speedError — нет?
источник

A

Alex in React — русскоговорящее сообщество
Иван
почему SpeedService передаётся, а speedRequested, speedLoaded и speedError — нет?
а зачем, если все это отрабатывает через экшены?
источник

И

Иван in React — русскоговорящее сообщество
Alex
а зачем, если все это отрабатывает через экшены?
Ну я и спрашиваю, почему одно передаётся, а второе — нет. Потому что структурно что одно, что другое — просто функции
источник

A

Alex in React — русскоговорящее сообщество
Иван
я понимаю, как оно используется. только зачем? подразумевается, что если передать massService, то fetchSpeed будет фетчить массу?
я об этом не думал, но получается да. Но это не отменяет вопроса, если мне нужно несколько сервисов передать
источник

И

Иван in React — русскоговорящее сообщество
Alex
я об этом не думал, но получается да. Но это не отменяет вопроса, если мне нужно несколько сервисов передать
без разницы — как удобнее, так и делай
источник

A

Alex in React — русскоговорящее сообщество
Иван
без разницы — как удобнее, так и делай
так я и спрашиваю, как принято? и вообще, провайдеры в роуты пихают?
источник

И

Иван in React — русскоговорящее сообщество
Alex
так я и спрашиваю, как принято? и вообще, провайдеры в роуты пихают?
принято не заводить контексты для таких целей. при необходимости провайдеры можно просунуть где угодно. обычно в приложении есть только рутовые провайдеры
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Alex
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;
Вместо провайдеров сервисов я бы через extra argument передал бы апишку в санки
источник

A

Alex in React — русскоговорящее сообщество
Иван
принято не заводить контексты для таких целей. при необходимости провайдеры можно просунуть где угодно. обычно в приложении есть только рутовые провайдеры
а если я добавлю все сервисы в один и просто буду передавать название метода в экшены, тогда один провайдер останется
источник

A

Alex in React — русскоговорящее сообщество
Тимофей 🛴
Вместо провайдеров сервисов я бы через extra argument передал бы апишку в санки
подробнее где почитать? я ж нуб
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Alex
подробнее где почитать? я ж нуб
В доке redux-thunk
Injecting a Custom Argument
источник

AA

Aaa Aaa in React — русскоговорящее сообщество
Подскажите пожалуйста, кто работал с библиотекой react-aad-msal. В ComponentSaga вызываю authProvider.getAccessToken(), после вызова этой функции появляется ошибка: User login is there quoted. For silent calls, request must contain either side or login_hint. Если захардкодить login_hint своей почтой, то всё нормально, но как получать корректно login_hint не понятно. Возможно кто-то сталкивался с подобной проблемой?
источник

SB

Sergiy Brotsky in React — русскоговорящее сообщество
Всем привет. Как в ts дать переменной 2 типа данных (null or object)
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Sergiy Brotsky
Всем привет. Как в ts дать переменной 2 типа данных (null or object)
Гуглите union types
источник

SB

Sergiy Brotsky in React — русскоговорящее сообщество
спасибо
источник