Как сделать умные компоненты в React еще более умными, сделав его более гибким, рендеринг других компонентов дампа

Когда функциональность отсутствует в API, причина в том, что, возможно, для нее еще нет кода. Так и сейчас.

См.:

https://github.com/VOL3/v-ol3/blob/master/gwt-ol3/src/main /java/org/vaadin/gwtol3/client/Map.java

имеет фрагмент:

//    public native final void beforeRender()/*-{
//        //TODO: find a nice way to do this in GWT
//    }-*/;

Итак, это единственное событие, связанное с отображением карты и загрузка на обертку ol3-v gwt (на ней также есть обертка ваадина).

Вы можете искать в Интернете информацию о загруженной Карте, нет возможности легко поймать ее.

OpenLayers: как полностью определить загрузку карты?

рассказывает, как это сделать, необходимо следить за запуском и готовыми событиями на каждый слой на Карта. Затем после выполнения этих действий (вы не рассчитываете, что больше ничего не загружается), вы завершаете код внутри оболочки gwt и, наконец, обертываете vaadin, и у вас есть событие для регистрации.

0
задан Mizlul 19 January 2019 в 13:44
поделиться

1 ответ

Если я правильно вас понимаю, вы хотите условно визуализировать компонент? Для этого вам понадобится троичный оператор в вашем методе рендеринга.

Например:

class ProductContainer extends React.Component {
  constructor(props) {
    super(props);
    this.state = { products: [] };
  }

  getAll(){
    // get all products from store
  }

  addNew(){
    // store the product to the store
  }

  render() {
    return (
      {
        this.state.products.length ? 
          <ListProductComponent products={this.state.products}>
        :
          <AddProductComponent/>
      }
    ) 
  }
}

Вам также нужно будет использовать this.setState({ products: [ // products object ] }) после добавления продукта, чтобы React повторно отобразил компонент и показал правильные данные.

Вы можете узнать больше об этом здесь

.
0
ответ дан Baruch 19 January 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: