|
|
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
Добрый день... Кто более или менее знаком с redux,может мне объяснить почему такое поведение.. Еть Footer итого...который пересчитывает заказ при изменении суммы и количества. см видео. https://cloud.mail.ru/public/NBUq/3QKFaV5Hb Но если я комментирую код,который избыточен Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 1.Причем is_select вообще не используется 2.is_select является производной(просто filter причем условие может быть любое типа row.is_select===ысысыцс) от необходимого state.Contents.orders, Непонятно поведение в console.log('footer=',state.Contents.orders); видно что Contents.orders приходит правильный.(дальше в коде просто подбивается сумма). Но без Код: javascript 1. 2. 3. Не перерисовывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 09:37 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
irbis_al, сложно что-то сказать по огрызку кода и не внятным объяснениям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 10:45 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
skyANAirbis_al, сложно что-то сказать по огрызку кода и не внятным объяснениям Ну вот код TotalOrder..Там всё просто обычный Component обвёрнутый в connect Поэтому его код и не давал. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 10:49 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
Наверно потому, что state.Contents.orders - неизменный массив объектов, а state.Contents.orders.filter - функция от внутреннего состоянию объектов. З.Ы. Какая удивительная тенденция, делать видео вместо обдуманного описания процесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 23:11 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
stanilarНаверно потому, что state.Contents.orders - неизменный массив объектов, а state.Contents.orders.filter - функция от внутреннего состоянию объектов. З.Ы. Какая удивительная тенденция, делать видео вместо обдуманного описания процесса. Ну про видео лучше один раз увидеть...это время экономит всем. А state.Contents.orders изменяется в console log приходит order в котором уже новое поле количество и цена. В отличие от is_select который всегда [] Я так понимаю раз он подписан на orders то и должен слушаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 08:10 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
irbis_alЯ так понимаю раз он подписан на orders то и должен слушаться. Не знаю как конкретно у тебя реализовано хранилище, но если ты не заменяешь объект при изменении свойств объекта, то ничего не должно происходить. Слушается изменение. Если state.Contents.orders - неизменный массив то рендера не будет, хоть какие поля в объектах меняй. Результат state.Contents.orders.filter - изменяется каждый раз, как меняется что-то внутри объектов массива, а заодно и вызывается рендер. Видео я три раза просмотрел пока не понял на что обратить внимание. Не говоря уже о сути вопроса. Если бы сам не интересовался реактом, даже бы второй раз просматривать не стал. Видео это конечно круто, но прочесть хорошо сформулированный вопрос - это меньше минуты и один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 17:32 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
irbis_alв console log приходит order в котором уже новое поле количество и цена. Это ты про ту консоль говоришь, которая в mapStateToProps? Ну и как эта консоль относится к рендеру компонента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 17:35 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
stanilarirbis_alв console log приходит order в котором уже новое поле количество и цена. Это ты про ту консоль говоришь, которая в mapStateToProps? Ну и как эта консоль относится к рендеру компонента? Напрямки никак...Но в консоле я вижу ,что изменился один из элемент массива Contents.orders.. Следовательно должен быть рендеринг...я от redux именно этого и ожидаю. А я ожидаю ,-Меняется состояние и он(redux) толкает рендеринг. is_select вообще не меняется ,но с ним рендеринг толкается... Вот я и хочу чтоб мне объяснили поведение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 19:53 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
Вот тут немного мутновато но объясняется https://stackoverflow.com/questions/39513753/my-redux-state-has-changed-why-doesnt-react-trigger-a-re-render ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 20:23 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
irbis_alis_select вообще не меняется ,но с ним рендеринг толкается... Да как не меняется, если filter всегда новый массив возвращает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 21:11 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
stanilarirbis_alis_select вообще не меняется ,но с ним рендеринг толкается... Да как не меняется, если filter всегда новый массив возвращает! Ну в принципе в той статье так и объясняется... Что map filter reduce форсированно меняет. Для redux всё равно Код: javascript 1. 2. Надо будет поэкспериментировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 21:35 |
|
||
|
React Redux Объясните Поведение
|
|||
|---|---|---|---|
|
#18+
irbis_al Код: javascript 1. Два разных объекта не могут быть чуть-чуть другими, даже если у них одинаковое внутреннее содержание. Это принципиально два разных объекта. А вот массив из двух объектов это один и тот-же массив, как бы ты не менял содержимое его объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 22:15 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1444229]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 388ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...