Aleksey
Ну по сути это санка
она применена в в сторе через applyMiddleware но в хуке useEffect не срабатывает функция
Valentin
Вернул user из функции ReadingUser. Присвоил значение функции переменной. Почему в консоли она отображается, как promise? Как мне вытянуть из него всю инфу ?
Потому что это промис. И нужно дождаться его выполнения. Через [твойЧертовПромис].then(), либо обернуть всю функцию в async и при присвоении промиса к переменой добавить await.
Valentin
Уже разобрался) но все равно спасибо за ответ
Разобрался или копипастил пока не запустилось?
Дмитрий
Разобрался или копипастил пока не запустилось?
Разобрался. Создал класс, там медод типа async. Потом запрос через await. Дальше через него же преобразовал в json. Ну и обратился к данным и перенес их в state
Vitaliy
доброе утро подскажите пожалуйста если я сохраняю реф через this.myRef = React.createRef(); то я стучусь к самому дом узлу через this.myRef.current.focus() а если я сохраняю реф через коллбек реф ref={el => this.myRef = el} то тогда я стучусь к дом елементу через this.myRef.focus() верно?
Oleksii
привет друзья, у меня задача, сделать карту точь в точь как у https://www.mapiful.com/editor/location/, я перепробовал кучу редакторов, такие как mapbox editor, openstreetmap, maputnik, но они не подходят, потому что, на некоторых не достаточный функционал, на mapbox editor начинают пропадать дороги при отдалении (zoom) карты. Прошу помочь решить проблему, посоветуйте редактор который сможет решить мою проблему.
Тимофей 🛴
Вот и диспатч этот getService в эффекте и все. Только правильные deps передай в useEffect. (Правда getService у тебя какой то кривой)
Aleksey
Вот и диспатч этот getService в эффекте и все. Только правильные deps передай в useEffect. (Правда getService у тебя какой то кривой)
да просто промис написал, не в прод же :D ха-ха-ха над самим собой, думаю без коннекта работать не будет :DDDDDDDDDDDD а зочем же юсДиспатч :DDDDD
Anonymous
Какой есть курс нормальный на понимание как взаимодействовать с фронт + бек и получать состояние из базы данных в json для последующего вывода на фронте? Или для начала нужно скопипастить и понять вывод из просто файла json и только после этого двигаться дальше? Вроде как посмотреть в беке ничего сложного нет, всего на 3 функциях можно делать сайт - база данных, get / пост что делать после этого, ну и преобразование файлов например из одного формата в другой с базы данных. Проблема только в том что в 10 видео по крупицам все это
Андрей
Создал компонент который защищает роут. И не могу из редукс-стора прочитать что либо, что не так делаю ?
Андрей
Так можно же делать ?
Сергей
Ребят, а есть какой-гибудь еще способ разработки своих пакетов кроме yarn link?
Ruslan
не хочешь в npm, можно с github
Сергей
создаешь пакет, публикуешь в npm?
нет, чтобы тестировать и разрабатывать пакеты локально. yarn link не оч удобно, постоянные косяки выплывают, частенько с типизацией связано.
Denis
Ребзя, подскажите, а имеется ли разнится в том если мы в редере будем отправлять пустой массив или null или они на этампе построения структурного дерева отвалятся оба? render() { return (<div>{[]}</div>) } ИЛИ render() { return (<div>{null}</div>) }
Denis
или я что то недопонимаю?
Oruj
я могу поменять их мместами?
Denis
А если проверить руками?
а если ответить просто, если знаете ответ?
Oruj
Нет)
почему? там где я вызываю эту функцию, там я тоже меняю местами
Yuriy
почему? там где я вызываю эту функцию, там я тоже меняю местами
первые скобки - это функция, в параметры которой ожидаются данные редакса(как я понимаю), так вот эта функция возвращает еще одну функцию, которая в параметры ожидает компонент
Yuriy
почему? там где я вызываю эту функцию, там я тоже меняю местами
А вообще можно, но все зависит от того, как ты будешь ее вызывать)
Ivan
а если ответить просто, если знаете ответ?
не знаю но если у меня возникает вопрос подобного рода, то я сначала иду в песочницу не понимаю ваш ход мыслей
Asan
Подскажите как правильно реализовать, есть посты с комментами, послать 2 запроса и загрузить посты и комменты в redux, а потом при открытии полного поста уже внутри отображть комменты из redux или при открытии поста слать запрос на сервер и внутри полного поста добавлять комменты в redux потом их отображать?
Anonymous
Если это у тебя страница "список постов" то комментарии как правило не нужны тебе на страрте, если нужно сразу показывать хотябы пару последних коментов, то правильнее вложить данные сразу при получении постов, без отедльных запросов, а далее уже подгружать
Yertai
Всем привет ребят
Yertai
Почему на гите 16 строк 16 lines (15 sloc) а выдает 15) { "name": "Home", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "jquery": "^3.4.1" } }
Yertai
Перенос test не реагирует
Anonymous
16 строка всегда добавляется в конец файла как \0
Евгений
Всем привет, подскажите в чем проблема есть компонент const mapStateToProps = (store) => { return { systemInformation: store.systemInformation, registration: store.registration } }; const mapDispatchToProps = { setSourceData, requestPostMethod, requestMethod } export class TermsOfUse extends Component { constructor(props) { super(props) } componentDidMount(){ } componentWillUnmount() { this.props.setSourceData({ sourceId: '/termsofuse', sourceTitle: 'Пользовательское соглашение' }); } render() { const { content } = this.props return (content ? <div dangerouslySetInnerHTML={{ __html: content }} /> : null) } } export default withRouter(connect(mapStateToProps, mapDispatchToProps)(TermsOfUse)); Для него пытаюсь написать тест с моком стора describe('Тесты умных компонентов с коннектом', ()=>{ const initialState = { systemInformation: 'systemInformation', registration: 'registration' } const mockStore = configureStore() it('+++ render the connected(SMART) component', () => { let store = mockStore(initialState); let container = shallow(<connectedTermsOfUse store={store} /> ); console.log(store,'<<<<<<<<<<eto store') expect(container.prop('systemInformation')).toEqual(initialState.systemInformation); }) }) но в стор не прокидывается тот стейт который я пихаю, в чем может быть дело?
Евгений
Есть кто-то здесь, кто мокал стор с помощью jest?)
Victor
А где тесте компонент TermsOfUse?
Victor
Коллеги, кто-нибудь пользовался плагином для eslint react-hooks/rules-of-hooks и react-hooks/exhaustive-deps?
Евгений
А где тесте компонент TermsOfUse?
import React from 'react' import { shallow, mount } from 'enzyme' import renderer from 'react-test-renderer' import { shallowToJson } from 'enzyme-to-json' import connectedTermsOfUse, {TermsOfUse} from '../components/Technical/TermsOfUse' import configureStore from 'redux-mock-store' describe('Тесты маунта компонента', ()=>{ const propsForComponent = { content: "<div>'Контент для тестирования рендера'</div>"} // описываем props jest.spyOn(TermsOfUse.prototype, 'componentDidMount') it('renders correctly without content', () => { const wrapper = shallow(<TermsOfUse {...propsForComponent}/>) expect(TermsOfUse.prototype.componentDidMount.mock.calls.length).toBe(1) }) }) describe('Тесты по TermsOfUse c помощью снепшотов', () => { it('renders correctly without content', () => { const propsForComponent = { content : null } let myComponent = shallow(<TermsOfUse {...propsForComponent}/>) expect(shallowToJson(myComponent)).toMatchSnapshot(); }); it('renders correctly with content', () => { const propsForComponent = { content: "<div>'Контент для тестирования рендера'</div>"} // описываем props const myComponent = shallow(<TermsOfUse {...propsForComponent}/>) expect(shallowToJson(myComponent)).toMatchSnapshot(); }); }) describe('Тесты умных компонентов с коннектом', ()=>{ const initialState = { systemInformation: 'systemInformation', registration: 'registration' } const mockStore = configureStore() it('+++ render the connected(SMART) component', () => { let store = mockStore(initialState); let container = shallow(<connectedTermsOfUse store={store} /> ); console.log(store,'<<<<<<<<<<eto store') expect(container.prop('systemInformation')).toEqual(initialState.systemInformation); }) })
Victor
import React from 'react' import { shallow, mount } from 'enzyme' import renderer from 'react-test-renderer' import { shallowToJson } from 'enzyme-to-json' import connectedTermsOfUse, {TermsOfUse} from '../components/Technical/TermsOfUse' import configureStore from 'redux-mock-store' describe('Тесты маунта компонента', ()=>{ const propsForComponent = { content: "<div>'Контент для тестирования рендера'</div>"} // описываем props jest.spyOn(TermsOfUse.prototype, 'componentDidMount') it('renders correctly without content', () => { const wrapper = shallow(<TermsOfUse {...propsForComponent}/>) expect(TermsOfUse.prototype.componentDidMount.mock.calls.length).toBe(1) }) }) describe('Тесты по TermsOfUse c помощью снепшотов', () => { it('renders correctly without content', () => { const propsForComponent = { content : null } let myComponent = shallow(<TermsOfUse {...propsForComponent}/>) expect(shallowToJson(myComponent)).toMatchSnapshot(); }); it('renders correctly with content', () => { const propsForComponent = { content: "<div>'Контент для тестирования рендера'</div>"} // описываем props const myComponent = shallow(<TermsOfUse {...propsForComponent}/>) expect(shallowToJson(myComponent)).toMatchSnapshot(); }); }) describe('Тесты умных компонентов с коннектом', ()=>{ const initialState = { systemInformation: 'systemInformation', registration: 'registration' } const mockStore = configureStore() it('+++ render the connected(SMART) component', () => { let store = mockStore(initialState); let container = shallow(<connectedTermsOfUse store={store} /> ); console.log(store,'<<<<<<<<<<eto store') expect(container.prop('systemInformation')).toEqual(initialState.systemInformation); }) })
сделай пример в codesandbox каком, эту простыню нереально прочитать
Евгений
я его обозвал connectedTermsOfUse
Евгений
но что странно, что он отрисовывается в вскоде бледным, как-будто не используемый компонент
Nick
Ребята привет, только изучаю React, как бросить event в component renderSquare(i: number) { return <Square onClick={this.onHandleClick()} index={i}/> }
Shimon
Вопрос по поводу добавления иконок и картинок. Добавить картинку через import можно только вне компонента. А что если компонет получает имя файл как пропс? Нормально ли посупать следующим образом?
Shimon
Ок. А почему то, что я сделал - не верный подход? Вроде работает...
Victor
Ок. А почему то, что я сделал - не верный подход? Вроде работает...
у тебя в бандле могут оказаться все файлы из папки img
Тимофей 🛴
Ок. А почему то, что я сделал - не верный подход? Вроде работает...
require не нужен, и импорт в рендере очень тупо
アレクサンダー・バキマトフ
https://t.me/react_js/763602
неплохая уже собралась рекурсия:D
Shimon
👍 ясно
Евгений
Евгений
пересохранил
Victor
пересохранил
почитай как тесты пишутся на энзиме ```
Victor
it("renders correctly without content", () => { const wrapper = shallow(<TermsOfUse {...propsForComponent} />); expect(TermsOfUse.prototype.componentDidMount.mock.calls.length).toBe(1); }); 1. сначала ты создал враппер - ок 2. потом ты лезешь не в созданный инстанс, а в класс компонента. Даже еслинт ругается - мол, создал wrapper, но не используешь его
Евгений
Спасибо) но вопрос не в этом, а в после тесте с коннетом, но за это огромное спасибо)
Alexander
Подскажите, столкнулся с такой проблемой. При фильтрации, если быстро печатать, возвращаются неактуальные данные несколько раз и только потом правильные. Как с этим бороться?
Ivan
неплохая уже собралась рекурсия:D
однонаправленный ациклический граф
Евгений
https://t.me/react_js/763602
подскажите что это значит) меня линкует на сообщения выше ничего не говорящие вообще
Oleg
Всем привет. подключаю axios через CDN. в IE11 пишет "Promise" не определено, при том что официально axios поддерживает IE11
Alexander
а проверь в консоле, напиши код с промисом без axios, сработает?
Oleg
понял теперь. в axios 0.6 убрали полифил и нужно самому