Size: a a a

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

2020 October 28

IN

Igor N in React — русскоговорящее сообщество
1N54N3
Я пытаюсь инициализировать стэйт с помощью пропсов и у меня это не выходит
всё выходит, почему не выходит?
источник

1

1N54N3 in React — русскоговорящее сообщество
this.props.inBookmark отображается корректно только в рендере, а когда в стэйте инициализирую там только всегда false
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
всё выходит, почему не выходит?
Потому что всегда false
источник

1

1N54N3 in React — русскоговорящее сообщество
inBookmark={this.state.bookmarks.some(e => e.user.id === item.id)}
вот пропс
источник

IN

Igor N in React — русскоговорящее сообщество
не всегда. Что вы положили в стейт, то там и лежит. Вы его не меняете
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
не всегда. Что вы положили в стейт, то там и лежит. Вы его не меняете
Но почему всегда фольс если в рендере корректно работает пропс?
источник

IN

Igor N in React — русскоговорящее сообщество
1N54N3
Но почему всегда фольс если в рендере корректно работает пропс?
в рендере того элемента, откуда передаётся этот пропс?
источник

1

1N54N3 in React — русскоговорящее сообщество
в рендере компонента которому передается пропс
он корректно отображается в рендере
но не хочет инициализироваться в стэйте и всегда получается false
источник

IN

Igor N in React — русскоговорящее сообщество
state = {
       inBookmark: this.props.inBookmark,
};
Это происходит во время инициализации инстанса класса. ТОЛЬКО там. Оно НЕ МЕНЯЕТСЯ
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
state = {
       inBookmark: this.props.inBookmark,
};
Это происходит во время инициализации инстанса класса. ТОЛЬКО там. Оно НЕ МЕНЯЕТСЯ
ок. почему тогда в другом компоненте у меня получается инициализировать стэйт с помощью пропсов? да и вообще можно же инициализировать стэйт с помощью пропсов
источник

IN

Igor N in React — русскоговорящее сообщество
1N54N3
ок. почему тогда в другом компоненте у меня получается инициализировать стэйт с помощью пропсов? да и вообще можно же инициализировать стэйт с помощью пропсов
Можно. Он у тебя инициализируется с false. А вообще, зачем ты в стейт кладёшь? Ты меняешь его где-то в ЭТОМ компоненте?
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
Можно. Он у тебя инициализируется с false. А вообще, зачем ты в стейт кладёшь? Ты меняешь его где-то в ЭТОМ компоненте?
Да
источник

IN

Igor N in React — русскоговорящее сообщество
1N54N3
Да
покажи, как
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
Можно. Он у тебя инициализируется с false. А вообще, зачем ты в стейт кладёшь? Ты меняешь его где-то в ЭТОМ компоненте?
А как сделать чтобы инициализировался с значением из пропса?
источник

IN

Igor N in React — русскоговорящее сообщество
1N54N3
А как сделать чтобы инициализировался с значением из пропса?
state = {
       inBookmark: this.props.inBookmark,
};
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
покажи, как
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
покажи, как
источник

1

1N54N3 in React — русскоговорящее сообщество
Igor N
state = {
       inBookmark: this.props.inBookmark,
};
Но всегда же фольс()()))
источник

IN

Igor N in React — русскоговорящее сообщество
1N54N3
Но всегда же фольс()()))
так он инициализируется в false. Чтобы поменять значение его, используй componentDidUpdate
источник

1

1N54N3 in React — русскоговорящее сообщество
Аа.. понял, это из-за того что рендерится и первое значение фольс из-за того что букмаркс еще не пришли
источник