Ivan
Это прям как с редакс синк - зачем? Просто так проще, а ведь много людей его юзают (в основном те что проходят посредственные гайды). Хотя эта либа весь флоу ломает
Ivan
Это прям как с редакс синк - зачем? Просто так проще, а ведь много людей его юзают (в основном те что проходят посредственные гайды). Хотя эта либа весь флоу ломает
Время нас рассудит. Бог вам в помощь. И я надеюсь, что вы, как и я, когда-нибудь столкнётесь с поучительным проектом на полмиллиона строк, в котором будет пятнадцать файлов helpers.js и десять helpers_DEPRECATED.js
Ivan
На этом мои полномочия всё
Илья
подскажите либу для слайдера, типа слика, но на реакт )
Илья
максимально)
Ivan
подскажите либу для слайдера, типа слика, но на реакт )
Вроде так и называется slider - самый простой
Илья
минималистичная что бы была
Юлія
В this.state нельзя так писать. Почитайте про setState.
да. Но эта проблема появляется еще не доходя до стэйта. На дебаге видно как стейт еще не установлен а после операций copy переменные стали одинаковыми. сразу же.
Ivan
да. Но эта проблема появляется еще не доходя до стэйта. На дебаге видно как стейт еще не установлен а после операций copy переменные стали одинаковыми. сразу же.
А вы попробуйте не мутировать, замените forEach на map (только почитайте, чем они отличаются и как правильно использовать.
Юлія
@gorbunov_i уже пробовала до того как написать. Эффект тот же
Ivan
@gorbunov_i уже пробовала до того как написать. Эффект тот же
Значит, проблема в коде, который вы не показали
Юлія
@gorbunov_i та ничего такого особенного: export interface PropsFromState { loading: boolean data: Attributes[] errors?: string vehicles: any } interface PropsFromDispatch { fetchRequest: typeof fetchRequest fetchVehicles: typeof fetchVehicles } interface IState { attributes: AttributesResponseInterface[] | any; tableAttributes: any; } type AllProps = PropsFromState & PropsFromDispatch class IndexPage extends React.PureComponent<AllProps, IState> { constructor(props: AllProps) { super(props); //инициализация переменных } render() { return ( <Page> <Container> …. { this.renderData() } );} public renderData(); componentWillReceiveProps(nextProps: any){ if (nextProps.data !== this.props.data) { if(nextProps.data && nextProps.data.length > 0 && this.state.tableAttributes.length <= 0){ const cloneAttributeList = Object.assign([], nextProps.data); const cloneAttributes = Object.assign([], nextProps.data); cloneAttributes.map((item: AttributesResponseInterface) => item.selected = false); this.setState({...this.state, attributes: cloneAttributes, tableAttributes: cloneAttributeList}); } } } } // It's usually good practice to only include one context at a time in a connected component. // Although if necessary, you can always include multiple contexts. Just make sure to // separate them from each other to prevent prop conflicts. const mapStateToProps = ({ vehicle }: ApplicationState) => ({ loading: vehicle.loading, errors: vehicle.errors, data: vehicle.vehicles_attributes, vehicles: vehicle.vehicles }) // mapDispatchToProps is especially useful for constraining our actions to the connected component. // You can access these via `this.props`. const mapDispatchToProps = { fetchRequest, fetchVehicles } // Now let's connect our component! // With redux v4's improved typings export default connect( mapStateToProps, mapDispatchToProps )(IndexPage)
Юлія
А не ts ругается случаем?
нет( в этом случае затих 😂
Ivan
@gorbunov_i та ничего такого особенного: export interface PropsFromState { loading: boolean data: Attributes[] errors?: string vehicles: any } interface PropsFromDispatch { fetchRequest: typeof fetchRequest fetchVehicles: typeof fetchVehicles } interface IState { attributes: AttributesResponseInterface[] | any; tableAttributes: any; } type AllProps = PropsFromState & PropsFromDispatch class IndexPage extends React.PureComponent<AllProps, IState> { constructor(props: AllProps) { super(props); //инициализация переменных } render() { return ( <Page> <Container> …. { this.renderData() } );} public renderData(); componentWillReceiveProps(nextProps: any){ if (nextProps.data !== this.props.data) { if(nextProps.data && nextProps.data.length > 0 && this.state.tableAttributes.length <= 0){ const cloneAttributeList = Object.assign([], nextProps.data); const cloneAttributes = Object.assign([], nextProps.data); cloneAttributes.map((item: AttributesResponseInterface) => item.selected = false); this.setState({...this.state, attributes: cloneAttributes, tableAttributes: cloneAttributeList}); } } } } // It's usually good practice to only include one context at a time in a connected component. // Although if necessary, you can always include multiple contexts. Just make sure to // separate them from each other to prevent prop conflicts. const mapStateToProps = ({ vehicle }: ApplicationState) => ({ loading: vehicle.loading, errors: vehicle.errors, data: vehicle.vehicles_attributes, vehicles: vehicle.vehicles }) // mapDispatchToProps is especially useful for constraining our actions to the connected component. // You can access these via `this.props`. const mapDispatchToProps = { fetchRequest, fetchVehicles } // Now let's connect our component! // With redux v4's improved typings export default connect( mapStateToProps, mapDispatchToProps )(IndexPage)
В рендере нельзя вызывать setState, например
Юлія
окей так он не в рендеренге а в componentWillReceiveProps
Ivan
А тут в renderData
Юлія
окей. ну то старое. В любом случае ни так ни так не работает. (
Ivan
Значит реакт сломался
Юлія
Юлія
а может быть из-за TS ?
Ivan
а кстати почему ?
Потому что setState ведёт к рендеру, в котором вызывается setState, который ведёт к рендеру, в котором вызывается setState...
Ivan
😕 что делать?
Собирать в песочнице минимальный воспроизводящий пример, гуглить, читать документацию, искать ответ на гитхабе и стаковерфлоу. Работать.
Ivan
а может быть из-за TS ?
Тут точно нет.
Юлія
@gorbunov_i спасибо вам болшое за конструктивную критику и общение) Доброй ночи)
Sheldhur
есть что нибудь типа jq sortable на реакте? react-beautiful-dnd не умеет в гриды на флексах, только вертикальный\горизонтальный список
Anonymous
Здравствуйте, я новый в реакте, нужна помощь в маленьком проекте, кто может помочь?
Антон
Привет всем) Такая ситуация, в приложухе используется react-textarea-autosize . Но тут понадобилось встроить туда для одного поля такую вот хрень. Должен вылетать выпадающий список) Это не проблема, сделаю) А вот как в textarea запихать что то типа дива? И возможно не одного и при этом текстареа должна изменять свою высоту как по стандарту. А еще должна быть возможность что нибудь дописать после вставленного блока или перед ним)))) Есть идеи???))))
Valentin
GG
Мне вот интересно - у таких любителей использовать на каждый чих готовую либу как обстоят дела с производительность всего приложения?
Ведь либы часто очень абстрактные, там предусмотренно много условий под разные случаи, чтоб либа всем подходила
Антон
Мне вот интересно - у таких любителей использовать на каждый чих готовую либу как обстоят дела с производительность всего приложения?
А почему ты думаешь то что я использую пакеты на каждый чих? XD Вообще бы я сказал что этот пакет не так много производительности жрет)
Антон
тем более до этого момента, этот пак использовался лишь для своего истенного преднозначение )
GG
Это как скачать див)
Антон
Подумал так потому что ты скачал текстарею
Ну не друг, тут ты явно ошибаешься)
Антон
я про див)
Антон
Это как скачать див)
Зачем изварачиваться над мелочами, когда можно воткнуть легкий пак и он все сделать за тебя)))
Антон
.
Ну а если по делу, есть идея?))))
Антон
Честно, я у тебя тут даже не вижу тексареи, может быть она тебе не нужна?
Друг если я говорю что это текстареа, значит это текстареа) Она при заполнение постепенно становиться больше ))) Так как заполнение может быть не по шаблону и написать можно туда хоть 100500 строк и это нужно что бы все было видно, а не как в инпуте скрывалось)))
Антон
div contenteditable
+ Спасибо попробую +
GG
Ты походу человек докапашка тут 😂😂😂
Не совсем, просто пытаюсь выяснить что ты хочешь сделать. Не совсем ясно, и следовательно не поняв проблему - не помочь
Антон
Не совсем, просто пытаюсь выяснить что ты хочешь сделать. Не совсем ясно, и следовательно не поняв проблему - не помочь
Я описал ситуацию, а ты начал меня распрашивать про производительность 🤷‍♂️🤷‍♂️🤷‍♂️🤷‍♂️🤷‍♂️ Может тебе инетерсно все приложение целиком ? Как начинал и до чего дошел? 😂😂😂 Суть проблемы проста и я считаю что норм объяснил и на скрине видно что нужно сделать) Все)))) И если не понял, не надо задовать глупые вопросы по всякой левой хераборене ))) Спасибо)))
Антон
Я у тебя не спрашивал про производительность, это общий вопрос
Да ладно, не отмазывайся))) Просто честно скажи что хотел повыпендриваться 😂😂😂😂😂
Антон
div contenteditable
Ну походу поможет мне это решение.))) Спасибо огромное 👍👌👌
Sheldhur
есть что нибудь типа jq sortable на реакте? react-beautiful-dnd не умеет в гриды на флексах, только вертикальный\горизонтальный список
Ivan
Ребят, кто-то работал с google sheets api? (гугл таблицами). Запилил авторизацию в гугл на сайте, вытягиваю табличку, все ок, но пустые ячейки закрашенные цветом не присылает и вообще не распознает, а мне они очень нужны. Кто-то знает как решить проблему эту?
Anonymous
Логика компонента независимая от редакса к примеру вызову модалок, открытие закрытие каких то элементов должна находится в компоненте или в контейнере ?
Anonymous
Что это?
Redux containers
Nikolai
Redux containers
контейнер, если в команде принято такое разделение, отвечает за то что делает компонент(за логику) презентационный компонент(presentational component) - отвечает за то как выглядит с чем у вас контейнер связан - с редакс или имеет локальный стейт, вопрос несущественный. но если вы с командой пришли к соглашению о разделении - будьте добры всю логику держать в контейнерах. в тупые копоненты передаются только колбеки и данные для отображения вообще такое разделение некоторыми считается устаревшим и излишним, особенно с приходом хуков.
Китикет
Бесполезное разделение которое добавляет лишний слой для передачи данных и колбеков через пропсы
Китикет
Когда можно с большим успехом просто взять все это сразу же из области видимости и вернуть ту же самую разметку
Китикет
Но я еще думаю что в 90% случаев такие тесты бесполезны, но мб где-то действительно помогает)
Iaroslavna
Всем привет, а есть сообщество по верстке или вроде того?
Shatalov
Привет всем. Кто подскажет: поставил себе в проект npm scrtoll.... Чтобы скролить по якорю, то надо там обернуться секццию в app неким Element. И в верстке у меня появляется ещё один div, и получается что section у меня обернута div. Это можно как то убрать, или не париться по этому случаю???
Anonymous
Добрый день форумчане. Вопрос такой кто сталкивался с тем что сервер долго обрабатывает данные и не отправляет ответ и время ожидания выходит и клиент умирает. У кого то есть наброски примеры и тд. Делаю запросы на сервер через библиотеку axios
Maxim
Да ладно, не отмазывайся))) Просто честно скажи что хотел повыпендриваться 😂😂😂😂😂
Он прав, бы тоже задал этот вопрос, очень часто бывает что человек делает то что ему делать не нужно, так что с его стороны это был нормальный вопрос