Size: a a a

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

2021 February 18

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Павел Конин (HappyWay)
Компонент получает состояние из редукса через mapStateToProps.
Далее, в sortHandle у меня следующий код:
this.props.sortProductsList(sortPayload); 
this.props.getProductsList();
Я ожидаю, что этот код изменит состояние в редуксе, после чего выполнится getProductsList - который получает данные с апи отправляя параметры сортировки из изначального стейта.
Но получается так, что состояние сортировки изменяется, но при этом getProductsList использует старое состояние
Очень коряво объяснил, не знаю, как сформулировать грамотно.

Селектор это
https://redux.js.org/recipes/computing-derived-data
"Memoized Selector"?
mapStateToProps это тоже селектор, я просто про функции говорю, а мемоизированная она или нет, пока не важно
источник

ПК

Павел Конин (HappyWa... in React — русскоговорящее сообщество
Тимофей 🛴
Ну ты сортируешь в mapStateToProps массив products в зависимости от поля descending?
Нет, я не совсем понял вопрос, как сортировать массив products в mapStateToProps, если эта функция предназначена для помещения Redux State в Components.Props? Я не очень давно изучаю все react + redux, и делаю +- по документации
Вот код коннекта редукса к компоненту
function mapStateToProps(state: AppState) {
   return {
       productsList: state.productsList
   };
}

function matchDispatchProps(dispatch: Dispatch) {
   return bindActionCreators({
       getProductsList: getProductsList,
       sortProductsList: sortProductsList,
       clearProductsList: clearProductsList
   }, dispatch)
}

export default connect(mapStateToProps, matchDispatchProps)(ProductsList);
источник

ПК

Павел Конин (HappyWa... in React — русскоговорящее сообщество
Мне нужно изменить mapStateToProps ?
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Павел Конин (HappyWay)
Нет, я не совсем понял вопрос, как сортировать массив products в mapStateToProps, если эта функция предназначена для помещения Redux State в Components.Props? Я не очень давно изучаю все react + redux, и делаю +- по документации
Вот код коннекта редукса к компоненту
function mapStateToProps(state: AppState) {
   return {
       productsList: state.productsList
   };
}

function matchDispatchProps(dispatch: Dispatch) {
   return bindActionCreators({
       getProductsList: getProductsList,
       sortProductsList: sortProductsList,
       clearProductsList: clearProductsList
   }, dispatch)
}

export default connect(mapStateToProps, matchDispatchProps)(ProductsList);
Не кидай код в чат, невозможно читать.
Ты должен в mapStateToProps сортировать массив products
Только не забывай что sort() мутирует и тебе нужно скопировать массив
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Павел Конин (HappyWay)
Мне нужно изменить mapStateToProps ?
И я бы посоветовал использовать хуки useSelector и useDispatch вместо connect
источник

ПК

Павел Конин (HappyWa... in React — русскоговорящее сообщество
Тимофей 🛴
И я бы посоветовал использовать хуки useSelector и useDispatch вместо connect
То есть отказаться от классовых компонентов в сторону функциональных с хуками?
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Павел Конин (HappyWay)
То есть отказаться от классовых компонентов в сторону функциональных с хуками?
Ну конечно, да может немного запутаешься с useEffect или еще с чем то, но будет меньше кода и проще
источник

AP

Arnold Pataki in React — русскоговорящее сообщество
Павел Конин (HappyWay)
То есть отказаться от классовых компонентов в сторону функциональных с хуками?
у функциональных компонентов и перформенс выше)
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Arnold Pataki
у функциональных компонентов и перформенс выше)
Это спорный момент
источник

AP

Arnold Pataki in React — русскоговорящее сообщество
Тимофей 🛴
Это спорный момент
в доке указано про это
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Arnold Pataki
в доке указано про это
Помню было про future, но вот прям однозначно быстрее не видел, кидай ссылку
источник

RS

Roman Still in React — русскоговорящее сообщество
где пруфы билли?
источник

T

T in React — русскоговорящее сообщество
.
источник

MD

Misha Dan'kov in React — русскоговорящее сообщество
Redux все еще преобладает над рынком и mobx тоже вровнь с ним, как думаете?
источник

AP

Arnold Pataki in React — русскоговорящее сообщество
Тимофей 🛴
Помню было про future, но вот прям однозначно быстрее не видел, кидай ссылку
источник

А

Амангельди in React — русскоговорящее сообщество
Misha Dan'kov
Redux все еще преобладает над рынком и mobx тоже вровнь с ним, как думаете?
Redux пока сильно впереди, но как мы знаем хуки буквально за год вытеснили классовые компоненты. Тут скорее всего будет также
источник

Р

Руслан in React — русскоговорящее сообщество
Misha Dan'kov
Redux все еще преобладает над рынком и mobx тоже вровнь с ним, как думаете?
Посмотри просто статистику на гитхабе х)
источник

AP

Arnold Pataki in React — русскоговорящее сообщество
Roman Still
где пруфы билли?
пруфы в доке)
источник

MD

Misha Dan'kov in React — русскоговорящее сообщество
бля(
источник

F

Frank 🦠 in React — русскоговорящее сообщество
Амангельди
Redux пока сильно впереди, но как мы знаем хуки буквально за год вытеснили классовые компоненты. Тут скорее всего будет также
предлагаешь мобых юзать?
источник