Igor
и думаю может все на объекте сделать, т.е на первом уровне в качестве ключей - айди resource, на втором уровне в качестве ключей - айди экшенов
Anonymous
Завтра собеседование Фухх волнение 100500
Nikita
гг )
Коля
А ты как-то будешь менять роль для экранов? И вообще, по идее, это больше об общем стейте приложения. Я бы попробовал это вынести без каких-то сильных вложенностей. Отдельно actionId, а отдельно для них рулзы - как варик
Andrew
А чё волноваться то ?
Anonymous
Igor
А ты как-то будешь менять роль для экранов? И вообще, по идее, это больше об общем стейте приложения. Я бы попробовал это вынести без каких-то сильных вложенностей. Отдельно actionId, а отдельно для них рулзы - как варик
там жесткая логика, все разруливается на беке, мне же при создании роли нужно отправлять модель, но, перед отправкой я хочу преобразовать ее для себя в удобном виде, чтобы отредачить, прогнать обратно будет не проблема
Igor
придумаю че нибудь, возможно и будет склеенная строка в ключах а при парсе при отправке - сплитить
Коля
Это не выглядит как удобный для тебя вид))
Igor
нет, поэтому я и пишу об этом)
Konstantin
Всем привет. Подскажите, кто знает по React-Redux 1. Вот компонет. const TestComponent: React.FC = ()=>{ const state = useSelector((state: Map<unknown,unknown>)=>state); const dispatch1 = useDispatch(); const dispatch2 = useDispatch(); return ( <> <button onClick={()=>{ dispatch1({ type: ActionType.REPLACE_STORE, payload: state.set("key1", state.get("key1") + ".") }); dispatch2({ type: ActionType.REPLACE_STORE, payload: state.set("key2", state.get("key2") + ".") }); }}> {JSON.stringify(state.toJS())} </button> </> ); } 2. Вот редюсер (сокращённо). case ActionType.REPLACE_STORE: return action.payload; Вопрос: * Почему после запуска, кликая по кнопке, обновляется значение только "key2"?
Artem
Есть компонент с пагинацией. я там вычесляю из 2 кнопок текущую страницу. Есть строка запроса в ActionCreator - котрый используется в другом месте —— как мне в тот AC передать дополнительный параметр?
Alex
Добрый вечер Можно вопрос.. если использовать вот такую конструкцию function onChange(event) { var clonedObj = Object.assign({}, state); clonedObj.fieldname = event.target.value; setState({clonedObj}) console.log(clonedObj); } - то стейт начинает хранить предыдущий стейт - вложенность и история. мне это не нужно, подскажите плиз что я не так делаю? есть ли способ создать стейт на основе предыдущего не записав его тоже при клонировании. т е изменить одно поле у объекта другое при этом оставить со старым значением. let data = { fieldname: "", testfield:"test" }; const [state, setState] = useState(data); ощущение где то я туплю) спасибо.
Igor
const onChange = evt => setState({...state, fieldname: evt.target.value})
🦜
const onChange = evt => setState({...state, fieldname: evt.target.value})
неправильно setState(state => ({...state
Igor
можно и так)
Alex
const onChange = evt => setState({...state, fieldname: evt.target.value})
Вот так рекурсия вложенности объектов убралась, я пробовал и через ... но у меня были проблемы.. щас буду анализировать почему.. Большое спасибо за помощь - работает как надо
Олег
Друзья, как сюда код расшарить?
Anonymous
Подскажите плиз, через on change react-select открываю модалку на react-modal, при закрытии модалки не кликается на селект снова, нужно на любой другой элемент сначала кликнуть чтобы клик на селект заработал
Anonymous
Или на боди
ill-ya
Есть вариант возвращать компонент из хука типа такого? const { Cmp, doClose } = usePopup(); return ( …. <Button onClick={doClose} <Cmp/> выйдет некое замыкаение стейта и удобно вернуть метод все работает но компонент пересоздается и это не супер
Konstantin
Исходя из названия Экшена ты реплейсишь стор. Соответственно что последнее, то и будет в сторе
По идее нет. Я вызываю первый диспатч и меняю key1, потом вызываю второй и меняю key2 не удаляя при этом key1. Или нет?
Konstantin
Посмотри на редьюсер свой. Ты перетираешь значение
Ушел пересматривать... Позже если что вернусь... Спасибо.
Anonymous
ты можешь управлять через menuIsOpen пропс, при клике переводи в true а при выборе опции - false, судя по всему модалка перекрывает что-то
Это к какому плагину пропс ? Модалка не перекрывает, как будто реакт селект в фокусе остался
Igor
или попробуй обновить селект, в репо такое ишью не нашел, если ты выбираешь пункт и по нему открывается модалка, а селект схлопывается, то хз
-
Народ помогите выбрать slate \ draft-js у чего апи приятнее, производительнее ( много кастомных елементов будет), меньше багов. Мб есть что то лучше еще?
-
Я про slate слышал больше хороших отзывов
ну, драфт я так понял продукт фейсбука, который забыли
Тимофей 🛴
ну, драфт я так понял продукт фейсбука, который забыли
А slate в вечной бете) Бери любой, главное тз согласовать так, что бы там было строго то что умеет выбранный инструмент, потому что шаг в сторону это боль.
-
Не понял
нашел, все может, спасиб
N
Не кто не вкурсе есть ли нормальное авторизация по соть сетьям
Ilya
Не кто не вкурсе есть ли нормальное авторизация по соть сетьям
https://github.com/deepakaggarwal7/react-social-login поддерживает перечень сервисов буржуйских
Ilya
для «наших» есть разной степени удачности - отдельные пакеты. но ИМХО все равно придется допиливать руками
Ilya
Эту я знаю, я думал есть нормальные наши vk, ok,
нет, отличная идея для своего OS проектика 🙂 а может даже для контрибъюта в react-social-login можно там открыть пропозал - интересно будет вообще интерес у автора и его комъюнити
Ilya
https://github.com/deepakaggarwal7/react-social-login/blob/master/src/config.js в принципе там все организовано модульно - по принципу «провайдеров» так что можно их писать для себя - даже не выкатывая в сам проект
Ilya
ну а ежели написать то и грех не выкатить PR
Nurdan
Что лучше: React.js + SSR или Next.js?
Артем
маршмелоу?
не, селедка с молоком
Valentin
Подскажите пожалуйста, при использовании .bind(this) в методе render. Функция будет создаваться каждый раз новая при каждом рендере?
Valentin
ну, ни кто не знает?
Valentin
Да будет
почему функция будет создаваться заново, механизм?
Тимофей 🛴
почему функция будет создаваться заново, механизм?
Потому что bind возвращает новую функцию
Valentin
а стрелочные, тк бабель их байндит в конструкторе, верно мыслю? но их не будет в прототипе и значит не доступны через super
Valentin
Да
Большое спасибо, сам я не в состоянии почему то вести дискуссию =(
Jahongir
Всем привет, почему надо писать props, чтобы передать данные компоненте, когда рендерим компоненту, в классовой компоненте, почему нельзя просто this.(то, что передаем), когда и connect в одном файле?
Jahongir
Да
Jahongir
Есть классовая компонента, хочу передать то, что в коннекте в компоненту, которая в рендере, и чтобы передать пишу this.props.(то что мне нужно из коннекта), без пропса не получается, хочу узнать почему я должен написать пропс, когда моя классовая компонента и коннект в одном файле
Jahongir
😅
Jahongir
это я знаю
Андрей
это я знаю
И ты задаёшь вопрос почему через механизм получения данных компонент получает данные?
Jahongir
Просто ведь connect там же и находится, this видит этот connect, поэтому и удивляюсь, props ведь не должен пригодиться
Jahongir
То что законектил из mapStateToProps и MapDispatchToProps