Size: a a a

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

2020 July 07

NP

Nikita Polevoy in React — русскоговорящее сообщество
Всем привет! Как передать props в не инициализированный компонент react?
источник

O

Oil Field in React — русскоговорящее сообщество
Nikita Polevoy
Всем привет! Как передать props в не инициализированный компонент react?
Ваш вопрос не понятен. Что вы имеете ввиду под "не инициализированном компоненте"?
источник

NP

Nikita Polevoy in React — русскоговорящее сообщество
Oil Field
Ваш вопрос не понятен. Что вы имеете ввиду под "не инициализированном компоненте"?
Вот из-за формулировки и не получается нагуглить)
это что-то из серии в родительском компоненте я объявляю
const Component; //пустой
Component.props = {...someProps}  //Вот про эту строчку вопрос. Можно ли так
И передаю как нибудь потом я уже "инициализирую" этот компонент - <Component />
источник

O

Oil Field in React — русскоговорящее сообщество
Nikita Polevoy
Вот из-за формулировки и не получается нагуглить)
это что-то из серии в родительском компоненте я объявляю
const Component; //пустой
Component.props = {...someProps}  //Вот про эту строчку вопрос. Можно ли так
И передаю как нибудь потом я уже "инициализирую" этот компонент - <Component />
Нет, так нельзя. А что вы хотите получить в итоге?
источник

I

Igor in React — русскоговорящее сообщество
Темирлан Рахимгалиев
Памагити, пожалуйста:
чем отличается передача в функцию в фигурных скобках (payload) и без (state)
Вот пример:
[SHOW_ALERT]: (state, { payload }) => ({ ...payload, visible: true }),

p.s.: вопрос скорее всео очень тупой
источник

NP

Nikita Polevoy in React — русскоговорящее сообщество
Oil Field
Нет, так нельзя. А что вы хотите получить в итоге?
В общем у меня есть компонент header = () =>  <bla bla bla>
Я его объявляю на верхнем уровне и передаю ниже в качестве пропса дочернему компоненту.
Там я его вставляю {header}.
И  вот на этом уровне есть пропс которым мне нужно передать в {header}. И его никак нельзя передавать на уровне выше...
Надеюсь я не перемудрил с объяснением.
источник

ТР

Темирлан Рахимгалиев... in React — русскоговорящее сообщество
Большое спасибо!
источник

O

Oil Field in React — русскоговорящее сообщество
Nikita Polevoy
В общем у меня есть компонент header = () =>  <bla bla bla>
Я его объявляю на верхнем уровне и передаю ниже в качестве пропса дочернему компоненту.
Там я его вставляю {header}.
И  вот на этом уровне есть пропс которым мне нужно передать в {header}. И его никак нельзя передавать на уровне выше...
Надеюсь я не перемудрил с объяснением.
Вставляйте как компонент
<Header someprop="blabla"/>
источник

NP

Nikita Polevoy in React — русскоговорящее сообщество
Oil Field
Ваш вопрос не понятен. Что вы имеете ввиду под "не инициализированном компоненте"?
может можно как нить из серии {header.props = someProps} ?
источник

И

Иван in React — русскоговорящее сообщество
Nikita Polevoy
В общем у меня есть компонент header = () =>  <bla bla bla>
Я его объявляю на верхнем уровне и передаю ниже в качестве пропса дочернему компоненту.
Там я его вставляю {header}.
И  вот на этом уровне есть пропс которым мне нужно передать в {header}. И его никак нельзя передавать на уровне выше...
Надеюсь я не перемудрил с объяснением.
Вместо header={<Foo />} напиши Header={Foo}, в дочернем вместо {header} напиши <Header ...  />
источник

O

Oil Field in React — русскоговорящее сообщество
Nikita Polevoy
может можно как нить из серии {header.props = someProps} ?
Через react.createElement можно, но у вас есть JSX
источник

И

Иван in React — русскоговорящее сообщество
Nikita Polevoy
может можно как нить из серии {header.props = someProps} ?
То есть «инстациируй» уровнем ниже, вот и всё
источник

NP

Nikita Polevoy in React — русскоговорящее сообщество
Иван
Вместо header={<Foo />} напиши Header={Foo}, в дочернем вместо {header} напиши <Header ...  />
Но на уровне родителя мне нужно передать title и еще пачку прочего хлама...
источник

И

Иван in React — русскоговорящее сообщество
Nikita Polevoy
Но на уровне родителя мне нужно передать title и еще пачку прочего хлама...
Тогда у тебя что-то херово с проектированием компонентов. Но можно выкрутиться через React.cloneElement


https://reactjs.org/docs/react-api.html#cloneelement
источник

NP

Nikita Polevoy in React — русскоговорящее сообщество
Иван
Тогда у тебя что-то херово с проектированием компонентов. Но можно выкрутиться через React.cloneElement


https://reactjs.org/docs/react-api.html#cloneelement
Спасибо) Таки видимо перетасую компоненты.
источник

L

Let'em keep on talki... in React — русскоговорящее сообщество
Переслано от Let'em keep on talki...
Can someone help me in creating api for login, get/post api for getting and posting user's name, then for users address and then get/post api for users school
источник

x

xcast in React — русскоговорящее сообщество
export default function App() {
 const [win, setWin] = React.useState()
 setWin(<h1>lol</h1>)
 return (
   <>{win}</>
 );
}

Too many re-renders говорит. так нельзя писать? как можно?
источник

D

Denis in React — русскоговорящее сообщество
xcast
export default function App() {
 const [win, setWin] = React.useState()
 setWin(<h1>lol</h1>)
 return (
   <>{win}</>
 );
}

Too many re-renders говорит. так нельзя писать? как можно?
Можно setWin не вызывать на каждый рендер
источник

И

Иван in React — русскоговорящее сообщество
Let'em keep on talking ;) 🖕🏻👀
Переслано от Let'em keep on talking ;) 🖕🏻👀
Can someone help me in creating api for login, get/post api for getting and posting user's name, then for users address and then get/post api for users school
Not here
источник

И

Иван in React — русскоговорящее сообщество
xcast
export default function App() {
 const [win, setWin] = React.useState()
 setWin(<h1>lol</h1>)
 return (
   <>{win}</>
 );
}

Too many re-renders говорит. так нельзя писать? как можно?
Ты при рендере вызываешь изменение состояния. Которое влечёт за собой рендер. В котором вызываешь изменение состояния. Которое влечёт за собой рендер.
источник