使用React中的条件在单独的组件中设置元素的样式

维亚切斯拉夫·纳扎连科(Viacheslav Nazarenko)

在我的react应用程序中,当数组的长度达到5时,我要显示一个隐藏的横幅。但是看起来我试图在呈现元素之前先获取它。我收到有关获取未定义元素样式的错误。

此函数必须更改标题元素的css并使它可见。

  showBanner() {
            let banner = document.getElementsByClassName('overlay')[0]
            banner.style.cssText = "visibility: visible;opacity: 1;"
        }

我想仅在满足条件的情况下呈现我的弹出组件。

render() {
        if (this.props.awarded) {
            if (this.props.awarded.length === 5) {
                this.showBanner()
                return (
                    <>
                        <h1 id="awardLabel">5 movies</h1>
                        <div id="movieList">
                            {this.props.awarded.map((movie) => {
                                return (
                                    <div className="awardHolder" key={movie.imdbID}>
                                        <div className="awardImgHolder"  >
                                            <img src={movie.Poster} alt={movie.Title}></img>
                                        </div>
                                        <div className="awardMovieInfo">
                                            <p>{movie.Title}</p>
                                            <p>year {movie.Year}</p>
                                        </div>
                                        <div className="withdrawButton" onClick={(e) => this.deleteMovie(e, movie)}> WITHDRAW </div>
                                    </div>
                                )
                            })}
                        </div>
                        <Popup />
                    </>
                )
            } else { ...

这是我的横幅结构。

<div id="popup1" className="overlay">
                <div className="popup">
                    <h2>Here i am</h2>
                    <a className="close" href="#">&times;</a>
                    <div className="content">
                        <p>Congratulations. You've nominated 5 movies.</p>
                        <button onClick={this.closeBanner}>Try again</button>
                    </div>
                </div>
            </div>

这是我的banner元素的css。

.overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 500ms;
    visibility: hidden;
    opacity: 0;
}

如何使用条件来动态更改元素的样式以渲染该元素?

亚历克斯·史尼洛夫(Alex Shnyrov)

您正在尝试在Popup组件创建之前对其进行访问换句话说,被渲染this.showBanner()之前<Popup />调用

一种解决方案是将弹出窗口移到更高级别的组件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用样式化组件为React Native中的最后一个子元素设置样式

来自分类Dev

在Wordpress中设置页面上单独元素的样式

来自分类Dev

不能从列表中单独设置<a>元素的样式

来自分类Dev

使用React JS中的样式组件,添加条件样式的更优选方法是什么?

来自分类Dev

在React中设置样式化的组件,找到相应的组件

来自分类Dev

如何在React中设置嵌套组件的样式?

来自分类Dev

使用Sass在React中设置SVG样式

来自分类Dev

使用 React 样式组件对类组件进行样式设置

来自分类Dev

设置在react中传递到变量的元素的样式

来自分类Dev

在 React 的 JSX 中的地图循环中设置元素的样式属性

来自分类Dev

hoc react组件中的样式化组件

来自分类Dev

无法将样式应用于React.js中的样式组件元素

来自分类Dev

如何在React中的组件上设置条件属性

来自分类Dev

如何使用React在Emotion情感中组成样式化的组件?

来自分类Dev

如何使用 ID 属性为 css 中的元素设置样式?

来自分类Dev

对象符号中的条件样式组件

来自分类Dev

如何访问反应组件中的样式元素?

来自分类Dev

样式化的组件-将样式放置在单独的文件中并将其导入到组件中

来自分类Dev

Nextjs中的样式组件延迟设置属性

来自分类Dev

在单独的文件中访问react组件的道具

来自分类Dev

在单独的文件中访问react组件的道具

来自分类Dev

为第三方组件中的子元素设置样式

来自分类Dev

无法使用道具在 React Native 中设置样式

来自分类Dev

React:使用内联样式设置所有元素的样式

来自分类Dev

使用道具有条件地在样式组件中设置属性,以使用TypeScript在主题对象上建立索引?

来自分类Dev

通过样式作为React组件中的道具

来自分类Dev

根据元素在组中的位置设置样式

来自分类Dev

CSS中的条纹元素样式设置

来自分类Dev

根据元素在组中的位置设置样式

Related 相关文章

  1. 1

    如何使用样式化组件为React Native中的最后一个子元素设置样式

  2. 2

    在Wordpress中设置页面上单独元素的样式

  3. 3

    不能从列表中单独设置<a>元素的样式

  4. 4

    使用React JS中的样式组件,添加条件样式的更优选方法是什么?

  5. 5

    在React中设置样式化的组件,找到相应的组件

  6. 6

    如何在React中设置嵌套组件的样式?

  7. 7

    使用Sass在React中设置SVG样式

  8. 8

    使用 React 样式组件对类组件进行样式设置

  9. 9

    设置在react中传递到变量的元素的样式

  10. 10

    在 React 的 JSX 中的地图循环中设置元素的样式属性

  11. 11

    hoc react组件中的样式化组件

  12. 12

    无法将样式应用于React.js中的样式组件元素

  13. 13

    如何在React中的组件上设置条件属性

  14. 14

    如何使用React在Emotion情感中组成样式化的组件?

  15. 15

    如何使用 ID 属性为 css 中的元素设置样式?

  16. 16

    对象符号中的条件样式组件

  17. 17

    如何访问反应组件中的样式元素?

  18. 18

    样式化的组件-将样式放置在单独的文件中并将其导入到组件中

  19. 19

    Nextjs中的样式组件延迟设置属性

  20. 20

    在单独的文件中访问react组件的道具

  21. 21

    在单独的文件中访问react组件的道具

  22. 22

    为第三方组件中的子元素设置样式

  23. 23

    无法使用道具在 React Native 中设置样式

  24. 24

    React:使用内联样式设置所有元素的样式

  25. 25

    使用道具有条件地在样式组件中设置属性,以使用TypeScript在主题对象上建立索引?

  26. 26

    通过样式作为React组件中的道具

  27. 27

    根据元素在组中的位置设置样式

  28. 28

    CSS中的条纹元素样式设置

  29. 29

    根据元素在组中的位置设置样式

热门标签

归档