Бесконечный вызов компонента

#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?