#javascript #reactjs #class #web #context-api
Вопрос:
Этот фрагмент кода бесконечно часто вызывает компонент «Рынок». Как я могу это исправить? (Я хочу передать реквизиты своему компоненту рынка с помощью UserConsumer (ContextAPI))
function App() {
return (
<div className="container">
<Switch>
<Route exact path="/" component={Loginpage} />
<UserConsumer>
{
value => {
return(
<Route exact path="/loggedin" component={() => <Market state_of_context={value} />} />
)
}
}
</UserConsumer>
</Switch>
</div>
);
}
Комментарии:
1. Потребители должны быть отображены в дереве компонентов. Вы не можете визуализировать что-либо из функции обработчика. Кроме того, в настоящее время вы используете jsx в качестве оператора в обработчике. В этом нет абсолютно никакого смысла. Правильный способ сделать это — иметь некоторое состояние в компоненте, который отображает поставщика, и обновлять его данными из ответа. Кроме того, функция визуализации, предоставляемая потребителю, должна возвращать допустимые элементы react.
2. @trixn понял, сэр, спасибо 🙂
3. @trixn у меня тоже есть 1 маленький вопрос. Я добавил state_ prop в свой компонент, чтобы получить состояние другого компонента. Но когда я вызываю его в маршруте, он вызывает мой компонент бесконечное количество раз. Я предоставляю код для ответа на вопрос. Вы можете это проверить? Спасибо.
4. компоненты не вызываются, они отображаются с помощью react. Вам действительно следует сначала полностью понять фундаментальные концепции, прежде чем вы получите в свои руки реальное приложение, вместо того, чтобы пытаться угадать свой путь к решению. Там есть много хороших учебных пособий.
5. Я имею в виду, из-за того, что я сказал «позвонить» вместо «визуализировать», я должен прекратить заниматься своим проектом и изучать основы react?