GreyCrew
@GreyCrew
Full-stack developer

Как отправить компонент с react порталом в storybook?

Собственно есть storybook c конфигами ниже
import {configure} from '@storybook/react'

import {configureActions} from '@storybook/addon-actions'
import 'style.scss'

const req = require.context('../src/shared/ui', true, /.stories.js?/)

function loadStories() {
  req.keys().forEach(filename => req(filename))
}

configureActions({
  depth: 100,
  limit: 20,
})

configure(loadStories, module)


Есть компонент с порталом. В основном приложении, есть отдельный dom контейнер <div id="select-root"></div>

Вопрос: как добавить такой же контейнер в storybook ?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
GreyCrew
@GreyCrew Автор вопроса
Full-stack developer
Решил таким образом в самом модал компоненте прописал условие
componentDidMount() {
    if (!selectRoot) {
      const newNode = document.createElement('div')
      newNode.setAttribute('id', 'select-root')
      const rootNode = document.querySelector('#root')
      rootNode.after(newNode)
      newNode.appendChild(this.el)
    } else {
      selectRoot.appendChild(this.el)
    }
}


Но не уверен, что этот вариант хороший.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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