Разверните приложение create-реакции в Google App Engine

Проблема в том, что то, что вы пытаетесь сделать, не должно быть сделано. Вы не должны раздувать фрагменты внутри других фрагментов. Из документации от Android :

Примечание. Вы не можете раздувать макет во фрагмент, если этот макет содержит & lt; фрагмент & gt ;. Вложенные фрагменты поддерживаются только при динамическом добавлении к фрагменту.

Хотя вы можете выполнить задачу с представленными здесь хаками, я настоятельно рекомендую вам не делать этого. Невозможно убедиться, что эти хаки будут обрабатывать то, что делает каждая новая ОС Android, когда вы пытаетесь раздуть макет для фрагмента, содержащего другой фрагмент.

Единственный поддерживаемый Android способ добавления фрагмента к другому фрагменту - это транзакция из диспетчера дочерних фрагментов.

Просто измените свой XML-макет в пустой контейнер (добавьте идентификатор если необходимо):




Затем в методе фрагмента onViewCreated(View view, @Nullable Bundle savedInstanceState):

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    FragmentManager fm = getChildFragmentManager();
    SupportMapFragment mapFragment = (SupportMapFragment) fm.findFragmentByTag("mapFragment");
    if (mapFragment == null) {
        mapFragment = new SupportMapFragment();
        FragmentTransaction ft = fm.beginTransaction();
        ft.add(R.id.mapFragmentContainer, mapFragment, "mapFragment");
        ft.commit();
        fm.executePendingTransactions();
    }
    mapFragment.getMapAsync(callback);
}

1
задан Daisuke SHIBATO 22 February 2019 в 06:05
поделиться

2 ответа

Можете ли вы проверить этот документ - https://medium.com/tech-tajawal/deploying-react-app-to-google-app-engine-a6ea0d5af132

Это будет помочь тебе. Я развернул свое приложение, используя те же шаги.

Пример файла yaml

    runtime: python27
    api_version: 1
    threadsafe: true
    handlers:
    - url: /
      static_files: build/index.html
      upload: build/index.html
    - url: /
      static_dir: build

Ссылочная ссылка - https://medium.com/google-cloud/how-to-deploy-a-static-react-site-to-google -cloud-platform-55ff0bd0f509

Спасибо!

0
ответ дан Harsh Makadia 22 February 2019 в 06:05
поделиться

В результате многократного поиска в Интернете я обнаружил, что причиной была система маршрутизации моего приложения реакции

.

Как говорится в в этом посте , мы должны быть осторожны при разработке app.yaml. Если мы сначала напишем следующий элемент, GAE вернет build/index.html для всех запросов, включая доступ к /static/js и /static/css.

- url: /
  static_files: build/index.html
  upload: build/index.html

create-react-app создает папку сборки и статические подпапки для npm run build. Таким образом, мне пришлось написать свой app.yaml более конкретно так:

handlers:
  - url: /static/js/(.*)
    static_files: build/static/js/\1
    upload: build/static/js/(.*)
  - url: /static/css/(.*)
    static_files: build/static/css/\1
    upload: build/static/css/(.*)
  - url: /static/media/(.*)
    static_files: build/static/media/\1
    upload: build/static/media/(.*)
  - url: /(.*\.(json|ico))$
    static_files: build/\1
    upload: build/.*\.(json|ico)$
  - url: /
    static_files: build/index.html
    upload: build/index.html
  - url: /.*
    static_files: build/index.html
    upload: build/index.html
0
ответ дан Daisuke SHIBATO 22 February 2019 в 06:05
поделиться
Другие вопросы по тегам:

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