Ivan
С вопроса самому себе: «а точно надо?»
Yury
привет, помогите кто шарит плз https://toster.ru/q/683144
socket.on на клиенте отрабатывает?
Lelya
да
Yury
да
в каком месте смотришь?
Lelya
Хм, сама только подумала, что в консоли не это видно...Какраз с удалением socket. on совсем ничего не меняется. Сообщения все так же отправляются только в 1 вкладке...Я понимаю, что ошибка тут, но не понимаю в чем именно
Lelya
попробую, спасибо
Yury
привет, помогите кто шарит плз https://toster.ru/q/683144
а зачем this.props.socketAdd(this.props.data) в cDM компонента?
Lelya
а зачем this.props.socketAdd(this.props.data) в cDM компонента?
от безысходности пробовала кучу всего, в том числе и создать эту санку и запихнуть в componentDidMount. Вот без неё все работает точно так же. Писала такой же чат, но без редакса. socket. on('new message'...) поставила в componentDidMount и все работало. А тут не понятно куда его сейчас пихать
Yury
ну сообщения наверн на любой странице приложении должны приходить тебе, я бы в api/socket.io и слушал…
Андрей
Есть такой почти хороший плагин react-scroll. Но он когда преобразует компонент Link свой в html тег a, то у a нету href.. Можно как то это исправить ?
Aidyno
Ребзя, как организовать login с переходом на Homepage. Авторизация с JWT, сделал так - в компоненте Permission return <React.Fragment> {token !== null ? ( <HomePage /> ) : ( <Login handleInputChange={this.handleInputChange} clearErrors={this.clearErrors} loginUser={this.state.loginUser} error={this.state.error} handleError={this.handleError} /> )} </React.Fragment>, достаю в рендере token из localStorage, это работает, но как то очень долго
Dezmunt
Можно ли как то использовать свой service-worker.js в dev режиме? По умолчанию как я понимаю мой воркер только при сборке подставится?
Anonymous
Ребят есть в сторе строка xlsx как скачать файл с этим содержимым?
Anonymous
Привет
Anonymous
Есть какой-то способ обновление Dom элемент без перезагрузки ? На React
Илья
есть либы которые по номеру телефона флаг ставят ?)
Sergey
Только надо разделить это на две задачи
myjob.asia
а как сделать загрузку изображения для аватар и в портфолио?
myjob.asia
есть либы которые проверяют и загружают изображение?
Ivan
Либо своё запили с помощью какого-нибудь axios и облака типа cloudinary
myjob.asia
та я свое сделал. А зачем облако?
Ivan
Кстати у того же cloudinary довольно подробно описана апи
Ivan
Ну самое быстрое решение как по мне
myjob.asia
свое некрасиво, для аватар 50 на 50 px а для работ в портфолио там по 1 Мб
myjob.asia
на freelancer.com там аватар обрезает
Ivan
React-dropzone, например
Смотри этот плаг
myjob.asia
выбрал изображение, оно обрезало или просто размер проверять, а при выводе ширину и высоту задать и все
myjob.asia
да фигня плагин, легче самому сделать чем этот плагин :)
Ivan
Ну ... тогда вот и решение вопроса :)
myjob.asia
Ну ... тогда вот и решение вопроса :)
я еще попробую, давно его пробовал. А как регистрацию делать и подтверждение логина?
myjob.asia
подтверждение email*
myjob.asia
пользователь переходит в другой браузер с тем же токеном. наверно нужно как то с токеном запоминать пользователя браузер. Если меняеться просить повторно вводить пароль?
myjob.asia
ладно, то потом
myjob.asia
сколько по времени уходит чтобы сайт сделать на риект?
myjob.asia
пол года год? Походу да
Nikolai
myjob.asia
1 наносекунда, реакт настолько крут
ок, просто сайт на сделать с нуля. Пол года где то?
myjob.asia
на чем бы не делал, от 6 месяцев. Я уже фриланс сайт через 20 дней будет как пол года делаю и воз все там, конца не видно 😊
myjob.asia
то есть конкурентов не будет если сделаю. Никтож не будет пол года тратить чтобы повторить мой подвиг правильно? Ну в людей нету возможности так работать
myjob.asia
react + node.js
myjob.asia
да вроде 😋
myjob.asia
да конкурентов то физически нету. Низкий уровень, студенты ниче не знают. Семья дети. Нищета, жрать нужно каждый день что то. Поэтому никто ж не будет этим заниматься. Это само собой понятно
Роман
Подскажите пожалуйста, хранить в initialState редакса объекта moment - это нормально? То есть не возбраняется ли хорошим тоном проектирования, в файле редюсера импорт библиотек?
Роман
Alexey
Подскажите пожалуйста, хранить в initialState редакса объекта moment - это нормально? То есть не возбраняется ли хорошим тоном проектирования, в файле редюсера импорт библиотек?
в файле, где создаётся store и где ты в него передаёшь initialState, этот самый initialState можешь динамически чем-нибудь заполнить, если нужно
Alexey
единственное, если это какой-то большой и не особо плоский объект работать с ним будет муторно
Роман
Только зачем???
У меня есть компонент, который выводит датепикер, где пользователь может выбрать дату начала и дату окончания. В редаксе по дефолту хранятся значения, которые передаются в эти датепикеры. При загрузке компонента берутся эти даты и делается запрос на сервер с аргементами в виде этих самых дат. В случае если глупо хранить их так, как делать правильно? В initialState у дат хранить null, а в запросе проверять, что если null - подставь нужную мне дату в качестве изначального ее значения?
Роман
Храните тип Date Учитывая, что объекты moment охренеть какие мутабельные, а в редаксе нужно хранить иммутабельные данные... скорее всего вы отстрелите себе ногу уже к вечеру.
Дело лишь в иммутабельности? const initialState = { startDate: moment().subtract(1, 'months').startOf('day'), }; switch (action.type) { case CHANGE_START_DATE: return { ...state, startDate: action.payload }; default: return state; } export const setStartDate = (date) => (dispatch) => { dispatch({ type: CHANGE_START_DATE, payload: date, }); }; Как можно отстрелить себе тут ногу? Что здесь может отработать не так?
Роман
setStartDate(startDate.add(2, ‘day’)) Видите ошибку?
Ошибка в том, что startDate поменяется еще до того как задиспатчится функция? В таком случае да, будет ошибка, если я правильно понял ход ваших мыслей. В таком случае, можете распистаь подробнее, как правильно организовать хранение этих данных?
Роман
таймстампом
Но изначальное значение startDate то ведь нужно посчитать, от текущего таймстампа отнять месяц, а для этого в коде редюсера придется городить лишний код, который там совсем не красив. Тоже самое если хранить там нативный Date. Или горождение подобного кода - нормальное дело и все так делают?
Ivan
Кстати, вот. В документации спрятали, негодники! https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state
Emery
Доброго времени. Кто-нибудь знает простой способ по щелчку на элемент развернуть еще один элемент; в случае когда таких элементов верхнего уровня с подэлементами несколько, и их содержание генерируется динамически?
Роман
Ошибка в том, что ссылка на startDate не поменяется. Значит подписки не сработают, компоненты не перерисуются.
Я не пробовал делать именно так ка кнаписали вы, но в моем случае я работаю с датепикером от material-ui, он работает с объектом не на прямую, а возвращет новое значение, которое я записываю через setStartDate. Но понял в чем ошибка подхода, всем большое спасибо. То есть, подводя итог, самый нормальный вариант - храним в startDate moment().subtract(1, 'months').startOf('day').getDate() , в компоненте при необходимости преобразуемо его снова в moment, и все будет хорошо, никаких проблем с мутабельностью?
Роман
Всем большое спасибо, впредь буду знать и делать по-другому, очень помогли
Роман
Да. Но человек выше советовал использовать timestamp, скорее всего этот вариант получше будет.
Последний вопрос, что конкретно подразумивается под serializable objects в документации реакса, ссылку на которую вы скинули?
Ivan
Последний вопрос, что конкретно подразумивается под serializable objects в документации реакса, ссылку на которую вы скинули?
Это значит, что все значения в state должны остаться теми же после операции JSON.parse(JSON.stringify(state))
Anonymous
Посоветуйте какой-нибудь роутер на хуках, ничего не юзал кроме react-router-dom
Anonymous
React-router-dom, например
кроме него, вумник
Андрей
кроме него, вумник
Reach Router посмотрите