
Max
21.08.2018
07:59:05

Peter
21.08.2018
08:00:04


Николай
21.08.2018
08:18:38
Есть json объект следующего вида:
[
{data: "string", anotherData: {however:'lol'}},
...
]```Мне нужно отрендерить таблицу, делаю следующее:
slice - чтобы выбрать объекты от n до m значения (используется для "пагинации")
Затем рендерится таблица:
```json2table = json => {
const cols = Object.keys(json[0]);
const headerRow = cols.map(col => <th key={col}>{col}</th>);
const bodyRows = json.map(row => (
<tr key={row}>
{cols.map(col => <td key={row[col]}> {row[col]} </td>)}
</tr>
));
return (
<table>
<thead>
<tr>{headerRow}</tr>
</thead>
<tbody>{bodyRows}</tbody>
<tfoot>
<tr>{headerRow}</tr>
</tfoot>
</table>
);
};Проблема:
1) Во время пагинации (значения от и до в slice меняется и массив режется соответственно этим значениям) окуда-то появляются новые cols, я не пойму, откуда
2) Объект в объекте может содержать не только текст, но и массив, как лучше всего это отображать?
[
{date: "string", anotherData: ['string', ...], oneMore:[{omg:'really?'}]}
]
Буду рад любой помощи, правки приносят быстрее, чем я успеваю обрабатывать все :(
UPD:
Возможно-ли, что новые колонки появляются из за slice? Мне кажется именно здесь кроется корень проблемы, чем лучше всего заменить?
UPD:
Не понимаю, рендерится 30 VNode элементов (tr), в которых 19 childrens (cols/td), но в таблице откуда-то появляются в некоторых строках (tr) лишние столбцы (td)
Ну вот и какого..
UPD:
Проблема решена
Решение:
НИКОГДА не забывать смотреть, что передается в key внутри map, потому-что null - вообще не годится как ключ
Всем спасибо за внимание и помощь!
(Знаю, у вас еще очень рано, спите сладко ❤ )
Код кидать нет смысла. Кидай скрины


Mark
21.08.2018
08:20:28

Google

Николай
21.08.2018
08:20:54
Попробуй с телефона воспринять простыню кода на несколько экранов

Mark
21.08.2018
08:21:53
Шатал я вопросы без скринов
Я показал необходимый минимум для понимания задачи, мне тебе код проекта скидывать, который я не имею права скидывать?

Николай
21.08.2018
08:22:07
Код не нужен
Нужно видеть структуру

Mark
21.08.2018
08:22:31
Я тебя понял, хорошо, следующий раз скину скрином

Николай
21.08.2018
08:22:59
Как это понять?

Mark
21.08.2018
08:24:20
Та я понял, я тоже не агрюсь, просто не подумал, что с телефона могут сидеть

Max
21.08.2018
08:36:16
Вопрос, как в jest подменять функцию? Или как это гуглить?
Пример:
в коде вызывается
const bookInterface = getBookInterface(book.id, book.version);
я хочу, чтобы тест перехватил getBookInterface вызов и вернул это со своими значениями. Когда-то я делал подобное с помощью rewire подхода. Это правильно? или сейчас что-то в самом jest появилось?

Dr
21.08.2018
09:01:46
привет, а здесь про React Native можно спрашивать? или есть какой-нибудь отдельный чатик для него?

?️Ivan
21.08.2018
09:02:36

Google

Dr
21.08.2018
09:02:52
спасибо

Petr
21.08.2018
09:07:52
если нужно вызвать какой то акшен, для забора данных с сервера, при обновлении какого то состояния в сторе redux, как вы обычно это делаете? 1) например я пишу компонент, коннекчу его, и на componentdidUpdate вызываю свой экшен. но что то мне подсказывает лучше делать не так
у меня даже хок есть на такие дела.

Аrtur
21.08.2018
09:08:29
я тоже так делаю, и мне тоже не нравится. Может есть варики лучше?

Petr
21.08.2018
09:09:55
возможно
но в каком месте его взять. у меня стор не глобальный.. обычно дергаю его либо из dispatch( ... либо из mapStateToProps

?
21.08.2018
09:21:09
Всем привет. Отошел от dev’а на некоторое время. Посоветуйте что нибудь подучить интересное и нужное к реакту, кроме redux, jwt, thunk.

Artur
21.08.2018
09:22:40

Efim
21.08.2018
09:25:35

Vlad
21.08.2018
09:37:22
Всем привет, посоветуйте что-нибудь для валидации простых форм (логин, регистрация)

Ivan
21.08.2018
09:38:04
javascript

Efim
21.08.2018
09:40:11
css, DOM attribute

Vlad
21.08.2018
09:40:54
Например, увидел такое https://www.npmjs.com/package/react-validation
Кто-то пользовался? Норм?

Andrew
21.08.2018
09:41:34

Alex
21.08.2018
09:41:36

Peter
21.08.2018
09:44:03
Хочу посмотреть, как люди на больших проектах с react/redux выстраивают архитектуру, может есть какой-нибудь такой проект на гитхабе, чтобы потыкаться в файлы, посмотреть что да как. Если кто знает такое, поделитесь ссылкой пожалуйста

Vlad
21.08.2018
09:44:11
Точно, Formik, спасибо

Сергей
21.08.2018
09:44:20

Google

Сергей
21.08.2018
09:44:30

Peter
21.08.2018
09:46:23

Artyom
21.08.2018
09:48:28
Дайте туториал как качественную модалку сделать?
@everdimension

from
21.08.2018
10:00:45

Artyom
21.08.2018
10:00:53

Peter
21.08.2018
10:01:06
в компоненте есть svg элемент, его заливка должна меняться в зависимости от падающих в компонент пропсов. Как лучше вего встраивать этот свг и работать с ним? В особенности, как это делать вместе со styled components?

from
21.08.2018
10:02:00
Ну камон
Ну ща доберусь до компа
На w3c кажется или на wcag такие туториалы есть

Artyom
21.08.2018
10:02:35

Алексей
21.08.2018
10:03:15

Artyom
21.08.2018
10:03:32

Алексей
21.08.2018
10:03:58
а если свг поменять ? -_-

Алексей
21.08.2018
10:04:11
не вижу смысла такие вещи в бандл тащить

Artyom
21.08.2018
10:04:29

Алексей
21.08.2018
10:04:41
вот только хотео сказать, либо lazy
но все же. хрен знает что там человек еще за этой компонентой потащит. имхо, лучше статику отдельно тащить

Artyom
21.08.2018
10:06:24
Почему?

Roman
21.08.2018
10:07:37

Artyom
21.08.2018
10:10:34

Roman
21.08.2018
10:12:23

Google

Artyom
21.08.2018
10:12:35
Тогда уж код...
Но я не знаю на сколько она нормальная. Где-то статья была, вроде на хабре даже, не помню

Admin
ERROR: S client not available

Artyom
21.08.2018
10:13:26
https://www.w3.org/TR/wai-aria-practices-1.1/examples/dialog-modal/dialog.html

from
21.08.2018
10:15:38

Gats
21.08.2018
10:16:07
всем привет. подскажите хороший ресурс для изучения реакта

from
21.08.2018
10:16:12
И насчёт скролла подложки в iOS не знаю, обычно это проблема почти у всех и я дополнительными обёртками это хэндлю

Liberty
21.08.2018
10:16:29

Gats
21.08.2018
10:17:08

Artyom
21.08.2018
10:20:04

from
21.08.2018
10:21:13
мне на vue велосипедить ?
хм
Всё равно советую на этот компонент посмотреть
Тем более там как раз используются нужные штуки типа focus-trap — https://github.com/davidtheclark/focus-trap
он реактонезависимый

Artyom
21.08.2018
10:21:47
Ок, спасибо

Gats
21.08.2018
10:39:51
можно как-то реакт через bower подключить?
смотрю большинство через cdn подключает, но я думаю что это такая себе практика

from
21.08.2018
10:41:10

Gats
21.08.2018
10:41:27

from
21.08.2018
10:42:01
и причём тут cdn непонятно

Google

from
21.08.2018
10:42:23
А, ты видимо про напрямую запихивание скрипта с урлом
welcome to the era of bundlers

Gats
21.08.2018
10:43:40
и причём тут cdn непонятно
ну типа когда в хедер ссылку закидываешь, это через cdn подключается насколько я понимаю. вы все тут так делаете?)

from
21.08.2018
10:44:08

shum
21.08.2018
10:44:14

Gats
21.08.2018
10:44:34

shum
21.08.2018
10:46:27

Gats
21.08.2018
10:46:57

Тимофей
21.08.2018
10:48:33

Gats
21.08.2018
10:55:32
всё проще, оказывается в вебшторме есть создание реакт приложухи

Тимофей
21.08.2018
10:56:33

Gats
21.08.2018
10:57:04