Size: a a a

React — русскоговорящее сообщество

2021 March 19

IS

Ivan Sequend 👾 in React — русскоговорящее сообщество
да
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
какой-то адок) А почему бы не сделать меньше вложенность? normalize-data
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Mike Rize
Можно ли пробросить пропсы (так чтобы они потом забирались как props из ребёнка) как обьект не использую rest/spread?

const compProps = {
data: "do some magic"
}

<Child props={compProps} />
а что запрещает спред использовать?
источник

MR

Mike Rize in React — русскоговорящее сообщество
🧨 ethorz
а что запрещает спред использовать?
религия и тайпскрит
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Mike Rize
религия и тайпскрит
ну тут проблема в типизации тогда, вариант передавать явно, someProp={obj.someProp}
источник

ДЕ

Денис Екимов... in React — русскоговорящее сообщество
Хах, да тут просто никак без этого, надо реализовать шифр Решетки Кардано
источник

MR

Mike Rize in React — русскоговорящее сообщество
🧨 ethorz
ну тут проблема в типизации тогда, вариант передавать явно, someProp={obj.someProp}
блин( много рефакторить тогда
источник

MR

Mike Rize in React — русскоговорящее сообщество
А как нить через createElement?
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Mike Rize
блин( много рефакторить тогда
без рефакторинга никогда хороший код не получится
источник

MR

Mike Rize in React — русскоговорящее сообщество
тоже верно
источник

MR

Mike Rize in React — русскоговорящее сообщество
🧨 ethorz
без рефакторинга никогда хороший код не получится
А так?

const 
compProps
 = {
data: "do some magic"
}


class Hello extends React.Component {
 render() {
   return <div>Hello {this.props.toWhat}</div>;
 }
}

React.createElement(Hello,
compProps, null),

а так валидно?
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Mike Rize
А так?

const 
compProps
 = {
data: "do some magic"
}


class Hello extends React.Component {
 render() {
   return <div>Hello {this.props.toWhat}</div>;
 }
}

React.createElement(Hello,
compProps, null),

а так валидно?
плохая практика, читаемость гробит, не вижу смысла
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
я так понимаю в обход тайпскрипта?
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
в чем тогда смысл использовать тайпскрипт, если его обходить?
источник

MR

Mike Rize in React — русскоговорящее сообщество
🧨 ethorz
в чем тогда смысл использовать тайпскрипт, если его обходить?
Вы правы. 6 компонентов пойду рефакторить(
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
6 компонентов это копейки)
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
лучше потратить щас 20 минут, чем потом несколько часов
источник

MR

Mike Rize in React — русскоговорящее сообщество
Кстатии это же очень плохой паттерн?
   const Content: JSX.Element =
     {
       text: Text,
       table: Table,
       images: Images,
       video: Video,
     }[type] || Common;
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Mike Rize
Кстатии это же очень плохой паттерн?
   const Content: JSX.Element =
     {
       text: Text,
       table: Table,
       images: Images,
       video: Video,
     }[type] || Common;
через свитч кейс можно сделать
источник

MR

Mike Rize in React — русскоговорящее сообщество
🧨 ethorz
через свитч кейс можно сделать
да, я уже сделал. Вопрос в самом паттерне
источник