Size: a a a

React: русскоязычное сообщество

2021 February 11

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
и
const historyMock = {
   push: jest.fn(),
   listen: jest.fn(),
   block: jest.fn(),
   goBack: jest.fn(),
   go: jest.fn(),
   location: {
       pathname: '/path-name',
   },
};
источник

P

Pavel in React: русскоязычное сообщество
Roma Prokopets
import { Router } from 'react-router-dom';


?
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
import { Router } from 'react-router-dom';


?
нету такого удовольствия
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
import { Router } from 'react-router-dom';


?
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
import { Router } from 'react-router-dom';


?
с некста
источник

P

Pavel in React: русскоязычное сообщество
А, вижу
тогда ХЗ
но, сейчас, мне кажется, он у тебя ругается на промис, который в моках не промис
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
А, вижу
тогда ХЗ
но, сейчас, мне кажется, он у тебя ругается на промис, который в моках не промис
в том то и беда
источник

P

Pavel in React: русскоязычное сообщество
Roma Prokopets
в том то и беда
ты видишь какой промис?
Он в пропах у тебя есть?
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
ты видишь какой промис?
Он в пропах у тебя есть?
Да не, мне нужно замокать роутер просто, и я не знаю как это сделать
источник

P

Pavel in React: русскоязычное сообщество
У тебя сейчас тест не на замокканый роутер ругается а на промис, который не замокан.
Или не так?
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
У тебя сейчас тест не на замокканый роутер ругается а на промис, который не замокан.
Или не так?
у меня ругается что then is undefined, но мне нужно замокать роутер
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
У тебя сейчас тест не на замокканый роутер ругается а на промис, который не замокан.
Или не так?
если я правильно понимаю, изза того что не замокан useRouter, при запросе за данными падает then
источник

P

Pavel in React: русскоязычное сообщество
then где вызывается?
источник

ДС

Дмитрий Степанов... in React: русскоязычное сообщество
const posts = [
   {
       idPost:"1",
       parentId: "1",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["1", "2", "3"]
   },
   {
       idPost:"2",
       parentId: "2",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["1", "2"]
   },
   {
       idPost:"3",
       parentId: "3",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["3"]
   }
]


Ребята, как нормализовать state с постами ?

parentId -  id владельца поста
likeId - массив из id пользователей которые поставили лайк

Как я его нормализовал:

const posts2 = {
   postsById:{
       "1":{
           idPost:"1",
           parentId: "1",
           content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
               "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
               "                    natus odio praesentium vitae?",
           likeId: ["1", "2", "3"]
       },
       "2":{
           idPost:"2",
           parentId: "2",
           content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
               "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
               "                    natus odio praesentium vitae?",
           likeId: ["1", "2", ]
       },
   },
   resultList:["1","2"]
}


После чего тот кто дал задание прокомментировал (уточнил):
ассоциативный массив  не пойдет,  вообще объект не пойдет, типа вкладывать нельзя.

помогите плиз!
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
then где вызывается?
совсем в левом месте, скажем так
источник

P

Pavel in React: русскоязычное сообщество
Roma Prokopets
совсем в левом месте, скажем так
У тебя компонент либа не может отрендерить потому что не все пропы замоканы, а не потому что тебе надо замокать роутер.
С чего ты взял что тебе надо его замокать?
Ошибка у тебя что ты обращаешься к undefind.then
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
У тебя компонент либа не может отрендерить потому что не все пропы замоканы, а не потому что тебе надо замокать роутер.
С чего ты взял что тебе надо его замокать?
Ошибка у тебя что ты обращаешься к undefind.then
таки тим лид сказал
источник

P

Pavel in React: русскоязычное сообщество
ХЗ что там тимлид говорит, но тест тебе говорит
cannot read property 'then' of undefined ))
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Pavel
ХЗ что там тимлид говорит, но тест тебе говорит
cannot read property 'then' of undefined ))
ну тим лид писал все и все работает, мне нужно просто замокать юзроутер)
источник

RP

Roma Prokopets in React: русскоязычное сообщество
Дмитрий Степанов
const posts = [
   {
       idPost:"1",
       parentId: "1",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["1", "2", "3"]
   },
   {
       idPost:"2",
       parentId: "2",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["1", "2"]
   },
   {
       idPost:"3",
       parentId: "3",
       content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
           "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
           "                    natus odio praesentium vitae?",
       likeId: ["3"]
   }
]


Ребята, как нормализовать state с постами ?

parentId -  id владельца поста
likeId - массив из id пользователей которые поставили лайк

Как я его нормализовал:

const posts2 = {
   postsById:{
       "1":{
           idPost:"1",
           parentId: "1",
           content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
               "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
               "                    natus odio praesentium vitae?",
           likeId: ["1", "2", "3"]
       },
       "2":{
           idPost:"2",
           parentId: "2",
           content: " Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam architecto autem dolor explicabo\n" +
               "                    illo iusto mollitia quisquam similique temporibus. Alias distinctio esse hic ipsum, labore maxime\n" +
               "                    natus odio praesentium vitae?",
           likeId: ["1", "2", ]
       },
   },
   resultList:["1","2"]
}


После чего тот кто дал задание прокомментировал (уточнил):
ассоциативный массив  не пойдет,  вообще объект не пойдет, типа вкладывать нельзя.

помогите плиз!
в смысле нормализовать?
источник