Как отобразить дочерний компонент вместо всего компонента - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть пакет react-bnb-gallery с одним экспортируемым компонентом по умолчанию с именем ReactBnbGallery.Он показывает галерею через портал и работает хорошо, но моя цель - сделать эту галерею встроенной в html и вложенной в дерево компонентов.

В настоящее время у меня есть:

<SomeWrapperComponent>
  <ReactBnbGallery />     // contains not accessible <Gallery/> 
<SomeWrapperComponent />

и я хочуthis:

<SomeWrapperComponent>
  <Gallery/> 
<SomeWrapperComponent />

Таким образом, я хочу опустить портал и иметь галерею прямо внутри моего макета.Любые предложения ???

Я думал о каком-то HOC над <ReactBnbGallery> или, возможно, у Portals есть какой-то api или другой переключатель для простого отключения

Thanx заранее!

1 Ответ

0 голосов
/ 27 сентября 2019

Компонент Gallery теперь доступен за пределами портала.

Теперь это возможно, используя следующий код:

import { Gallery } from 'react-bnb-gallery';

const MyComponent = () => (
  <Gallery photos={[...]} />
);

Если вы хотите использовать также основной ReactBnbGalleryкомпонент, новый способ делает следующее:

import { ReactBnbGallery } from 'react-bnb-gallery';

const MyComponent = () => (
  { /* ReactBnbGallery wraps the Gallery component */ }
  <ReactBnbGallery photos={[...]} />
);

Обновления были опубликованы в NPM с новой версией 1.1.7 .

...