42 - React JS Практика - Redux

42 - React JS Практика - Redux

IT-KAMASUTRA

5 лет назад

131,203 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

JustFisher
JustFisher - 28.08.2023 23:18

Если у вас ошибка Module not found: Error: Can't resolve 'redux' in... нужно в файле package.json удалить строчку redux и заново переустановить redux и всё заработает + вместо {createStore} пишется {legacy_createStore as createStore} или просто { legacy_createStore } , если у вас белый экран, проделайте всю работу заново и перезапустите приложение. Если же у вас по прежнему белый экран не проходит, закомментируй в файле sidebar-reducer.js всё что есть т.к. в этом компоненте нет логики и функция ничего не возвращает, это с способствует появлению ошибке

Ответить
Andrey Lopatin
Andrey Lopatin - 24.08.2023 16:31

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

Ответить
Stiano Testi
Stiano Testi - 11.08.2023 02:14

Итак, пишу для тех, у кого НЕ работает, прошел ряд обновлений, теперь все выглядит немного иначе, я сам просидел дня два, чтобы сделать:
---
1. CreateStore устарел, об этом подскажет при импорте, оно будет перечеркнуто, нужно сделать install react toolkit, сейчас его используют (как точно пишется загуглите)
---
2. combineReducers делаем также let reducers = combineReducers({...}), потом вместо createStore пишем: let store = configureStore({reducer: reducers})т.к. он подразумевает на вход один уже объединенный reducer как я понял.
---
3. Не забываем передавать подписчику state как в видосе.
---
4. Все-равно не работает, т.к. прошло обновление, теперь нельзя менять объект, который к нам пришел в редьюсере, компилятор ругается, нужно создать копию, простым let newStore = store не отделаться (в js объекты не копируются, в этом случае newStore просто присвоится ссылка на store), нужно создать полный клон, JSONparse для этого лучше не использовать(криво клонируются многие объекты), либо самим делать "глубокое клонирование" рекурсией (смысла в этом нет, да и лень разбираться как), либо использовать structuredClone. Советую этот вариант. let newStore = structuredClone(store), затем все действия производим уже с newStore. Будет работать
---
4.1. У меня в массивах была jsx разметка, когда я присваивал аватарке картинку, типа: (ava: <img SRC='ссылка'>..). Такие объекты как я понял никто не умеет клонировать, кроме глубокого клонирования наверное, будет ошибка, что элемент не может быть клонирован, поэтому оставляйте ava: 'ссылка', а уже потом при маппинге оборачивайте ссылку в тэг. Некоторые другие элементы тоже могут не клонироваться, у меня не было такого, но такое есть, проверяйте ошибку.
---
5. Радуйтесь))) и все норм, это не вы тупые, а штука сложная, без гугления ошибок и комментов не сделать (я сам смотрел комменты)

Ответить
Serioga Romanchykov
Serioga Romanchykov - 10.08.2023 11:32

ты молодец, спасибо за уроки 2023

Ответить
Даниил Топчий
Даниил Топчий - 16.07.2023 14:16

Как-то стыдно. На этом уроке я застрял на 4 дня. Мне среда разрботки отметила CreateStore как Depricated и я заменил его на ConfigureStore. Все прекрасно, нужно лишь сделать так:

let reducers = combineReducers ({
dialogs: messageReducer,
wall: postReducer
});

export let store = configureStore({
reducer: reducers,
});

Или даже так:

export let store = configureStore({
reducer: {messageReducer, postReducer},
});

Но по ходу выполнения задач у меня почему-то getState возвращался пустой, хотя все было как в уроке строка в строку (как был уверен я)

И что я осознаю спустя 4 долбанных дня? Что getState - мать его функция и ее надо было вызывать с помощью скобочек. СКОБОЧКИ, КАРЛ!!! 4 ДНЯ НА ПОИСК ДОЛБАННОЙ СКОБОЧКИ!

Чтож... Выпью ка я чаю и продолжу

Ответить
Кеся
Кеся - 15.07.2023 17:00

В 2023-м последнюю проблему с вводом символов vsCode сам предлагает пофиксить следующим образом <App state={store.getState()} dispatch={store.dispatch.bind(store)} />. Аж не верю что уже бомбим redux)) летим🚀

Ответить
Mikhail Kuklenkov
Mikhail Kuklenkov - 04.07.2023 19:34

Ахренеть какой замес пошел! Это уже редакс по-взрослому пошел. Лайк, Дима)

Ответить
Oleksii Fedorinov
Oleksii Fedorinov - 25.06.2023 12:01

а если в этой строчке у меня вот такая ошибка , кто то сталкивался " rerenderEntireThree(store.getState()); "
TS2554: Expected 0 arguments, but got 1.

Ответить
Саша Бузукашвили
Саша Бузукашвили - 20.06.2023 14:22

воу воу, как можно так понятно обьяснять ?)) притормози )))

Ответить
N0Escape
N0Escape - 10.06.2023 23:09

Тож, повернувся я через 4 місяці до курсу і зрозумів що все забув. Витратив день щоб переглянути 2 підсумки та останні 10 уроків, щоб згадати що да як... Не зважаючи на потрачений час, продовжив уроки, почавши дивитись цей урок. Далі опишу свої коментарі та враження...

Не впевнений, що хтось це побачить, однак опишу, які складнощі були в мене при виконнанні даного уроку 10.06.2023 році.
Сладнощей було декілька, як і казали попередні коментарі, імпорт трішки змінився:
import {combineReducers, legacy_createStore as createStore} from "redux";

інша проблема була в найменуванні методів, тобто в index.js у нас є метод subscribe а не subscriber - це важливо

також, за власною ініціативою я обернув dialogPage та profilePage в об'єкт contentBar, звісно в мене був інший шлях props при виклику, це викликало певні помилики при реалізації через redux, тому якщо ви, як і я натицяли зайвого, просто змініть шлях props як на уроках та можливо у майбутньому зрозуміло буде як це редагувати без помилок

Порада від себе - не робіть великих перерв та намагайтеся спочатку робити по уроку а лише потім лізьте у коментарі якщо не вийде

Ответить
Tony Pony
Tony Pony - 30.05.2023 20:40

после добавление редьюсеров, ошибка - Profile.js:10 Uncaught TypeError: Cannot read properties of undefined (reading 'posts')
at Profile , не может прочитать эту строчку в Profile : <MyPosts posts = { props.profilePage.posts } посты приходят undefined... У кого-то такое было?

Ответить
Ярослав Наконечний
Ярослав Наконечний - 18.05.2023 12:05

завершив урок)) була одна помилка у мене у слові subscribe, через це не відправлялися смс. тому слідкуйте за назвами. всі добра

Ответить
sherhun
sherhun - 16.05.2023 10:51

у меня не работают в итоге мапы все в файлах. ПОдскажите, как правильно передать из редакса данные в компоненту? например:
let Dialogs = props.state.dialogsData.map(dialog => -в компоненте написано, и туда не доходят данные dialogsData .

Ответить
Константин Караманов
Константин Караманов - 09.05.2023 01:43

У меня была ошибка "Cannot read properties of undefined (reading 'navBarData')", оказалось что в App.js я в Navbar передавал <Navbar state={props.state.sideBar} />, когда в reduxe-store у меня название было sidebar, тобишь с маленькой буквы, что всё и поламало. Исправил в reduxe-store название и все заработало

Ответить
Дима Иванов
Дима Иванов - 26.04.2023 07:36

Кто ни будь сталкивался с ошибкой index.js:24 Uncaught TypeError: _Redux_redux_store__WEBPACK_IMPORTED_MODULE_4__.default.subscrib is not a function ???
Дошел до 26 минуты все сделано по видео. Инпут не реагирует.

Ответить
Artem Skakun
Artem Skakun - 24.04.2023 18:26

кавабанга)

Ответить
Андрей Верещагин
Андрей Верещагин - 11.04.2023 09:53

есть изменения в синтаксисе redux
import {combineReducers, legacy_createStore as createStore} from "redux";

Ответить
Галина Кузнецова
Галина Кузнецова - 10.04.2023 11:32

Каждый раз восхищаюсь, как можно так подробно и понятно объяснять.Просто пушка ваши уроки.Летим дальше. А песенка про старинного друга Redux в начале крутая🤣

Ответить
Martyn
Martyn - 22.03.2023 18:17

шутки кончились, редакс тут

Ответить
Андрей Верещагин
Андрей Верещагин - 21.03.2023 11:38

React JS Практика - Redux

Ответить
Костя Сильченко
Костя Сильченко - 20.03.2023 17:15

Димыч красава! Уже редакс!!! УУУУУ=) круто объясняешь! Ребята 2023год=) летим!=)

Ответить
hilarious -_-
hilarious -_- - 05.03.2023 10:48

что-то это видео - полный вынес мозга... Боюсь что будет дальше

Ответить
Игорь Кащи
Игорь Кащи - 27.02.2023 18:32

Приветствую всех Reactoroff, завис на этом уроке ,после подключения Redux`ого stora полетели ссылки (Route) я так понимаю, в консоле выдает: No routes matched location "/" . А при переходе в профайл или диагогс - "стена"

Ответить
Богдан Гобозов
Богдан Гобозов - 21.02.2023 15:07

блин, как же приятно, когда выпадет ошибка, которой у Димича не было, а ты ее решил сам, аж понимание всей системы приходит)

Ответить
Никита Малышенко
Никита Малышенко - 17.02.2023 13:25

Я на данный момент на данном уроке. Кто полностью проходил курс, подскажите, будет ли регистрация в нашей соц. сети?

Ответить
Полина Еремина
Полина Еремина - 16.02.2023 17:35

Через 50 лет мы все умрем . Поголовно все. Так предсказали) мож и раньше

Ответить
O'Connor //
O'Connor // - 15.02.2023 17:34

От души Димыч !!!❤

Ответить
geoplaning
geoplaning - 09.02.2023 11:35

Наконец то повсеместный некорректный перевод ретурна "возвращает" заменен на очень логичный "выплевывает" спасибо Димыч

Ответить
mr.zxzxzxz
mr.zxzxzxz - 05.02.2023 20:10

а вот тут уже посложнее)

Ответить
Сергей Черкашин
Сергей Черкашин - 02.02.2023 20:20

Это ужас У меня было написано subscriber вместо subscribe и из за этого приложение работало некорректно Не обновляла state
Капец одна буква и все не робить
Идем дальше

Ответить
Василий Коломиец
Василий Коломиец - 28.01.2023 00:44

2023 год. Курс классный. Redux ругается на createStore, требует legacy_createStore. С этим разобрался. Вопрос: в дальнейшем будет урок по configureStore из reduxjs/toolkit?

Ответить
Harut Hovhannesyan
Harut Hovhannesyan - 24.01.2023 15:45

Бля я дошел до Редакс и я буду сказать Реакт, Редакс я знаать будддду круууутаааа, айтикаааааа айтикаааааа кааамасууутраааа :::))))

Ответить
Aggromarus
Aggromarus - 20.01.2023 03:33

Все вроде было по плану и даже такая же ошибка была в конце, при перерендере страницы при изменении стора, но никак не мог найти ошибку, потому что стор выпадал в undefined. Решение оказалось простым, причину указал выше, обычная невнимательность. При перерисовке и изменении стейта аргументом передавал store, а присвоил state (store.getState())

Ответить
Kibor
Kibor - 16.01.2023 23:47

У меня вообще Редакс не подключается, фиг знает в чём проблема (

Ответить
Приличное Имя
Приличное Имя - 15.01.2023 01:22

осталось 47 лет😱🤣

Ответить
Ирина Елисеева
Ирина Елисеева - 13.01.2023 19:53

воооу! круто! спасибо за урок! лечу пересматривать видео =)

Ответить
Григорий
Григорий - 13.01.2023 17:27

отличный ролик, необходимо было посмотреть 2 раза, чтобы понять полностью информацию

Ответить
BigRemAngarsk
BigRemAngarsk - 09.01.2023 20:22

Ребята, выручайте. Так и не прошёл белый экран после установки редакса!!! Помогите мне. Уже и сносил все, и по новой 42 урока, сохраняя в отдельной папке каждый урок.

Ответить
OverTheTop
OverTheTop - 09.01.2023 15:25

Димыч, спасибо! Летим дальше!

Ответить
Muhamad Boboev
Muhamad Boboev - 06.01.2023 21:55

Лучший!!!

Ответить
Olga Guseva
Olga Guseva - 06.01.2023 18:00

В смысле МЫ ВСЕ УМРЕМ? 😳🤣🤣🤣

Ответить
hide myname
hide myname - 06.01.2023 16:42

arigato, sensei

Ответить
Dima Lavrenov
Dima Lavrenov - 05.01.2023 14:21

Божечки, насколько удобнее все стало. Осталось набить руку и параллельно добавлять свои фишки, чтобы не повторять за автором. У меня код отличается, и я дизайн немного добавил :) Спасибо за урок

Ответить
Arthur_Starovoyt
Arthur_Starovoyt - 16.12.2022 18:42

Радуюсь что все это понимаю. Спасибо что так подробно все объясняешь

Ответить
александр григорьев
александр григорьев - 03.12.2022 16:55

ппц, state дальше не передал в конце, и сидел тупил час...тяжко быть тупеньким как хлебушек)

Ответить
Ace
Ace - 30.11.2022 14:34

А это нормально то, что у меня, когда вызывается метод subscribe, и в него не передается метод getState, а только вызывается ещё раз render, всё равно работает?

Ответить
Влад Пономарёв
Влад Пономарёв - 30.11.2022 10:28

Ура, всех поздравляю господа, мы дошли до Redux!) Дима, спасибо!)

Ответить
Romas Navickas
Romas Navickas - 25.11.2022 09:52

А может былобы целесообразно добавить версию урока с Redux Toolkit если это возможно Димычь?

Он более простой к понимании.
Поправьте если не прав.

Ответить