无法让ReactBootstrap包含模态工作

时间:2017-06-23 14:07:42

标签: reactjs react-bootstrap

这是我的代码https://github.com/jtylerm/Section9Lecture36

的github链接

我正在跟随Udemy的课程,我们正在写一个Pokedex网站。

Warning: Failed prop type: Invalid prop `container` supplied to `Modal`.
in Modal (at PokemonModal.js:15)
in PokemonModal (at App.js:91)
in div (at App.js:70)
in App (at index.js:10)

我不明白容器'是一个无效的道具,因为该代码是直接从ReactBootstrap网站https://react-bootstrap.github.io/components.html

复制的

请帮忙。谢谢!

*****更新*****

原来你可以删除道具'容器'完全或将组件从无状态更改为有状态,正如Manolo在下面所建议的那样。希望这可以帮助任何有类似错误的人。

1 个答案:

答案 0 :(得分:1)

您在功能反应组件中使用this。在此背景下this === window。您应该定义扩展React.ComponentReact.PureComponent

的PokemonModal
const PokemonModal = ({toggleModal, showModal, pokemon}) => {
    return(
        <div>        
            {/* ... */}

            <Modal
                show={showModal}
                onHide={toggleModal}
                container={this}
                aria-labelledby="contained-modal-title"
            >
                {/* ... */}
            </Modal>
        </div>
    )
}