Anonymous
Ну да учитывая множественную вариативность решения одной и той же задачи в пределах одного ЯП грааля совершенства тут нет )
Daniil
Misir
Из сервера получаю массив и вывожу ее на экран. В этом компоненте есть кнопка. При клике получаю нужный объект в массиве через метод filter. Но мне нужно отрисовать выбранный объект в другом компоненте и при каждом клике чтобы она менялась на другой объект. Как решить проблему?
Misir
А в чём суть проблемы? По описанию всё нормально, теперь это только запрограммировать нужно.
Я получаю нужный объект при клике но не могу передать данные в другой компонент.
Misir
Ну как-то через пропс кинуть id нужного обьекта в др компонент
Передать тот же массив через пропс и отсортировать по id?
Daria
Передать тот же массив через пропс и отсортировать по id?
Ну, врядли тебе там весь массив нужен, только отд объект Было бы неплохо глянуть код😉
Mykhail
Без кода сложно сказать
Misir
Щас скину
Misir
Mykhail
Ну как Даша сказала нормально , главное что этому компоненту был доступен этот массив , или можешь передать просто нужный обьект
Егор
Ну и в чем проблема? У тебя уже в selectActivity передаётся id, теперь нужно по id отфильтровать нужны объект и передать его в state через this.setState({selectedObject: <твой объект>});
Mykhail
Привет)
Mykhail
Неожиданная встреча)
Daria
Егор
Даже так: selectActivity(id) { const activity = ...filter... this.setState({ activity }); } render() { ... <ActivityDetails activity={this.state.activity} /> ... } ```
Misir
up
делал так, но получил undefined
Anonymous
делал так, но получил undefined
отдебаж посмотри где пропс теряется и не прокидывается
Misir
ok
Егор
делал так, но получил undefined
За тебя код никто не напишет. Я как написал, так и нужно делать. Если у тебя не работает - что-то ты неправильно делаешь. Поставь breakpoint и отладь. Что нужно учесть: 1. Изначально в this.state.activity будет undefined до первого вызова selectActivity. Ты можешь подставить туда первое значение из массива или не рендерить ActivityDetails вовсе 2. Нужно проверять, что filter тебе что-то вернул
Егор
Зачем у тебя тут стрелочная функция? Перепиши на метод - так и короче и понятнее.
Alexander RR8:M39
Джун?
мидл
TurnPenny🪤
мидл
Ну мидл Js думаю невозможно стать без знания фреймворка
TurnPenny🪤
А React попроще тех же vue, angular
Alexander RR8:M39
так я не по js а Ruby
Alexander RR8:M39
просто нужно знать все
TurnPenny🪤
Daniil
самураи вопрос как поменять настройки вебпак по поводу index.html чтобы в другой файл закинуло?
Карен
Что бы вместо index другой файл читал?
Misir
Вот я тупанул) Я без нажатия на кнопку "проверял")И думал почему у меня всегда null😂
Daniil
Что бы вместо index другой файл читал?
чтобы в него бандл прописал (в другой файл не index.html)
Daniil
есть настроки для этого? должны же быть
Егор
привычка)
Дурацкая привычка использовать стрелочные функции как попало. Однажды, ты будешь часами искать ошибку в своём коде из-за неверно использованной стрелочной функции.
Карен
Вроде по дефолту индекс берет
Карен
так не знаю
Егор
чтобы в него бандл прописал (в другой файл не index.html)
Можно разными способами, например, наиболее очевидный, который я использую: Есть плагин WebpackFilePreprocessorPlugin. 1. При обработке js-файлов, собираем их имена 2. При обработке html-файлов, находим нужный и вставляем те js-файлы, которые нам нужны. Можно и другими способами добиться аналогичного эффекта.
Daniil
да хотелось бы попроще)
Daniil
я думаю есть вариант проще
Daniil
тут как-то хардкорно, уж как вижу)
Daniil
т.е. файл по умолчанию указать вместо index.html
Daniil
чел просто написал лендинг и игру и теперь не может собрать
Daniil
2 html
Егор
Нету html-файла по-умолчанию. Есть html файлы, в которых ты указываешь entry points. Тебе нужно исходить из того, какие у тебя есть entry points. Подробности тут: https://webpack.js.org/plugins/html-webpack-plugin/
Daniil
энтри это js а тут речь про html
Егор
энтри это js а тут речь про html
По ссылке вся нужная информация. Больше я тебе ничем помочь не могу.
Daniil
ок и на том спасибо
Daniil
хотя по ссылке ничего про index.html
Daniil
у него просто index.html и landing.html - не знаю зачем но так
Егор
у него просто index.html и landing.html - не знаю зачем но так
https://github.com/jantimon/html-webpack-plugin#generating-multiple-html-files Гуглится за 30 секунд.
Daniil
ну вот я ему предложил 2 конфига сделать
Егор
ну вот я ему предложил 2 конфига сделать
Выше решение. Но сделать 2 конфига тоже выход, только вы замучаетесь это поддерживать.
Daniil
а в чем может быть трабл?
Егор
а в чем может быть трабл?
Будете подключить другие технологии, перенастраивать конфиг, добавлять плагины - нужно будет добавлять в оба конфига. А когда вам понадобиться поддержать старые или мобильные браузеры, т.е. использовать babel для трансляции в es5 - у вас будет 4 конфига, вместо двух.
Daniil
а нет, там учебный проект)
Daniil
так в приципе понял в чем сабака зарылась)
Daniil
тем более при желании общую часть конфига можно же шарить
Егор
а нет, там учебный проект)
Ну и что? Это не значит, что он должен уже на этапе обучения привыкать к говнокоду.
Daniil
Если пошарить - то нормально
да но думаю он пока к этому не готов, со временем все устроиться я думаю, разберется сам что с говнокодом делать))
Егор
тем более при желании общую часть конфига можно же шарить
Можно оба конфига уместить в одном файле. Примерно вот так. getConfig - возвращает webpack конфиг с нужными параметрами. Подробности по ссылке https://webpack.js.org/configuration/configuration-types/#exporting-multiple-configurations
Daniil
прикольно, я видел другое решение
Daniil
ну как бы массив это все же повторение
Daniil
в том решении что я видел было типа слияния
Егор
ну как бы массив это все же повторение
Не нужно никакого повторения. Конфиг написан один раз и зависит от входящих параметров функции getConfig. Всё просто и понятно.
Daniil
тернарники мне кажется создают путанницу
Daniil
лучше когда в одной части общее в остальных недостающие моменты - но это мое восприятие
invasion
Есть кто Material UI использовал?
invasion
Нужно ли оборачивать App в MuiThemeProvider?
Anonymous
invasion
Почему когда я Этому компоненту даю стили материал юай