Arthur
Неа, не знаю, как
Archer
Печально
Arthur
class Album extends React.Component { componentDidMount() { this.props.getPostsByAlbumAndPageFromAPI(this.props.album, 1) } render() { const currentPage = this.props.currentPage const postsList = this.props.postsList const currentAlbumId = this.props.currentAlbumId … const cards = () => { if (postsList) { if (postsList.length > 0) { return postsList.map(post => { if (currentAlbumId !== null) { if (post.album_id.toString() === currentAlbumId) { return ( <Grid item xs={12} sm={6} md={4} lg={3} key={post.id}> <PostCard post={post} channelId={this.props.channelId} sendPostToTelegramChannel={this.props.sendPostToTelegramChannel} /> </Grid> ) } } }) } } } return ( <Grid className={classes.gridSpace} container direction="column" justify="flex-start" alignItems="center" spacing={3} > <Grid item> <Grid className={classes.cards} container spacing={2}> {cards()} </Grid> </Grid> <Grid item> <Grid container justify="center"> <Card className={classes.pagination}> <Grid item> {paginationButtons()} </Grid> </Card> </Grid> </Grid> </Grid> ) } } const mapStateToProps = (state) => ({ channelId: state.channel.currentChannelId, }) export default connect(mapStateToProps, { getPostsByAlbumAndPageFromAPI, sendPostToTelegramChannel })(Album)
Archer
Просто тогда код весь покажи, здесь нет гадалок, надо смотреть на полную картину чтобы понять смысл одного куска
Arthur
Ну выглядит как-то так
Archer
Скрина хватило бы)
Arthur
Там 180 строк
Arthur
Скрина бы не хватило)))
Archer
Бедные мои глаза..... в этой компоненте PostCard в консоль выведи все данные
Archer
Или нет лучше вообще в редьюсере посмотри что он принимает
Arthur
В редьюсере на что? На получение всех карточек с апи?
Archer
На то что ты отправляешь после запроса
Archer
Твой объект post
Arthur
Archer
😕 с каких пор это у тебя редьюсер
Arthur
Сразу был Это метод редьюсера, который делает апи запрос и устанавливает даже не приходящие данные Диспатчит апдейт, тот меняет объект в массиве
Arthur
Стейт меняется, компоненты не перерисовываются
Archer
😂😂😂
Archer
Блиииин
Archer
Я полагаю ты путаешь редьюсер и экшен
Archer
Редьюсер у тебя типы проверяет
Arthur
Не скажу, что понял
Ivan
Значит это не твоё:)
Archer
Не скажу, что понял
Слушай покажи где у тебя стейт
Archer
Я не делаю ничего
Archer
А нет я музыку слушаю да
{ NeFFeX }
Нет , ты и так мастер, я у Артура )
{ NeFFeX }
Спрашиваю
Archer
Аааааа
{ NeFFeX }
Как учится
{ NeFFeX }
Методом тыка
{ NeFFeX }
Я попробовал:) пол дня сидел втыкал
Arthur
По видосикам
Archer
По видосикам
Лучше доку почитай, а сейчас покажи где у тебя стейт вообще
{ NeFFeX }
По видосикам
Скинь чё за видосы )
{ NeFFeX }
Чёт интересно стало, альбом
{ NeFFeX }
Хммм
Archer
Интересно стало где он узнал что это у него редьюсер
Archer
Ой извини метод редьюсера
Arthur
Ну это стор
Arthur
А в редьюсерых свои стейты, не так?
Archer
PostPage полагаю и ловит работу того экшена покажи его код
Arthur
Archer
А в редьюсерых свои стейты, не так?
Не совсем, в итоге это один большой стейт/стор
Archer
Раскрой последний case
Archer
update status
Arthur
{ NeFFeX }
Это какой по счету урок ?
{ NeFFeX }
Чёт интересно про альбомы
Arthur
Ну это не урок
Arthur
Это из всех собрать приложение
Archer
Стоп
Сергей
В мап Стейт ту пропс не приходит ничего из инициализационного стейта вроде
Archer
Ты через map ищешь элемент?
Arthur
Через мап отрисовываю каждый пост
Archer
Индекс точнее
Archer
В редьюсере
Arthur
Да, индекс да
Archer
Тебе явно надо JS учить
Archer
findIndex посмотри он для этого подойдёт
Arthur
Я беру все id, потом в них ищу нужный мне
Arthur
Может и подойдет, но я не нашел, как с его помощью можно искать по полю объектов
Archer
Не проще просто findIndex(item => item.id === action.post.id)
Arthur
Можно)
Сергей
Там только карентченел какой то в мап Стейт ту пропс...а из редюсера нет ничего...вот и не перерисовывает компоненту..
Archer
Теперь выведи в консоль обяект который ты нашёл
Archer
В этом редьюсере
Archer
splice у тебя что делает?
Arthur
Arthur
Сплайс заменяет объект
{ NeFFeX }
Ну если ты делаешь по видео
{ NeFFeX }
То это какой по счету
Arthur
Ну нет, это видео отсмотренны, а потом делается приложенько
Arthur
Вот так работает
Archer
postsLost: [ ...newPosts.slice(0, index), newPosts[index], ...newPosts.slice(index+1) ]
Archer
Обычно так делают