单击另一个组件时如何渲染组件?反应

mouchin777

我有一个组件可以渲染另一个组件,如果在渲染中请注意其他组件

constructor(props) {
        super(props);
        this.state = {
            fieldId: "",
            rating: -1,
            description: "",
            showModal: false
        };
        console.log(props) //week number, beginning with 0
        this.showModal = this.showModal.bind(this);
    }
.
.

.    
showModal() {
        this.setState({
            showModal: true
        })
        console.log("clicked show modal")
    }
.
.
.
.
.
render() {
        var weekId = this.props.weekId;
        if (weekId < this.props.livedWeeks) {
            return <div id={weekId} className="cube-lived"></div>
        } else if (weekId == this.props.currentWeek) { //whenever i click the component right below (cube - green), i want to render, <CalendarFieldModal />
            return <div id={weekId} title={weekId} className="cube green" onClick={this.showModal}> 
                { this.state.showModal ? <CalendarFieldModal /> : null}

            </div>
        } else {
            return <div id={weekId} title={weekId} className="cube white" onClick={this.showModal}> </div>
        }


    }

这是else if元素应该在单击时呈现的组件

    import React from 'react'
import './CalendarFieldModal.css'
class CalendarFieldModal extends React.Component {
    constructor(props) {
        super(props);
        this.state = {

        };

    }



    render() {
        return (
            <div>
                <section className="modal-main">
                    <p>hi</p>
                </section>
            </div>
        )
    }
}

export default CalendarFieldModal;

这是它的CSS

 p{
    font-size: 10000px;
    color: blue;
}

但是,每当我单击时,我都看不到任何东西出现,所以我想知道是什么问题,为什么它不呈现任何东西?例如简单

我想渲染作为测试以查看其是否有效。

编辑:

我发现,每当我第一次单击该组件时,showModal状态在控制台中都会记录为false,并且在第二次单击之前不会显示为true。但是无论如何,即使双击,它仍然不会渲染其他元素,因此仍然停留在该位置

您的代码实际上是有效的,这仅仅是因为CalendarFieldModal中的CSS字体大小太大而无法在适当的位置呈现,并且每次单击该组件时showModal状态仍然为false的原因setState因为它是异步的,因此console.log在下面setState可能会在状态实际更新之前执行,因此,如果您想在状态实际更新后在控制台中记录状态,则可以使用

this.setState({
       showModal: true
   }, () => console.log(this.state.showModal))

您可以在控制台中看到状态更新之后和状态更新之前的区别。

编辑keen-bardeen-pin6n

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个组件反应JS渲染组件

来自分类Dev

(反应)单击提交按钮时如何获取另一个组件的状态?

来自分类Dev

更改另一个组件时反应重新渲染组件

来自分类Dev

如何在单击一次按钮时渲染另一个React组件?(功能组件)

来自分类Dev

如何在另一个组件的函数内渲染反应组件?

来自分类Dev

单击另一个组件中的按钮时,如何显示/隐藏React组件?

来自分类Dev

如何从一个组件调用另一个组件的函数?反应

来自分类Dev

在反应中如何调用另一个组件中的一个组件?

来自分类Dev

在ReactJS中,如何在另一个组件中渲染一个组件?

来自分类Dev

如何强制从另一个组件重新渲染一个 Vue 组件

来自分类Dev

无法从另一个组件导入反应组件

来自分类Dev

如何在另一个组件中使用一个组件的状态?独立组件(反应)

来自分类Dev

反应本机在主中渲染另一个组件

来自分类Dev

如何隐藏组件反应并显示另一个组件?

来自分类Dev

如何在Angular中的另一个动态加载的组件内渲染组件?

来自分类Dev

如何使剃刀组件从另一个剃刀组件重新渲染

来自分类Dev

React – 如何在另一个已安装的组件中渲染附加组件?

来自分类Dev

如何通过在React中单击另一个组件来删除组件?

来自分类Dev

反应如何将一个组件及其道具传递给另一个组件

来自分类Dev

我如何在反应中将一个组件转换为另一个组件

来自分类Dev

反应中另一个组件的setStatus

来自分类Dev

在React中渲染另一个组件

来自分类Dev

在 reactjs 的另一个组件中渲染状态

来自分类Dev

在React中使用.map()生成组件时,如何使一个组件与另一个组件通信?

来自分类Dev

如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

来自分类Dev

如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

来自分类Dev

如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

来自分类Dev

在另一个组件内调用一个组件(反应)

来自分类Dev

更改另一个组件/反应图标中的一个组件

Related 相关文章

  1. 1

    从另一个组件反应JS渲染组件

  2. 2

    (反应)单击提交按钮时如何获取另一个组件的状态?

  3. 3

    更改另一个组件时反应重新渲染组件

  4. 4

    如何在单击一次按钮时渲染另一个React组件?(功能组件)

  5. 5

    如何在另一个组件的函数内渲染反应组件?

  6. 6

    单击另一个组件中的按钮时,如何显示/隐藏React组件?

  7. 7

    如何从一个组件调用另一个组件的函数?反应

  8. 8

    在反应中如何调用另一个组件中的一个组件?

  9. 9

    在ReactJS中,如何在另一个组件中渲染一个组件?

  10. 10

    如何强制从另一个组件重新渲染一个 Vue 组件

  11. 11

    无法从另一个组件导入反应组件

  12. 12

    如何在另一个组件中使用一个组件的状态?独立组件(反应)

  13. 13

    反应本机在主中渲染另一个组件

  14. 14

    如何隐藏组件反应并显示另一个组件?

  15. 15

    如何在Angular中的另一个动态加载的组件内渲染组件?

  16. 16

    如何使剃刀组件从另一个剃刀组件重新渲染

  17. 17

    React – 如何在另一个已安装的组件中渲染附加组件?

  18. 18

    如何通过在React中单击另一个组件来删除组件?

  19. 19

    反应如何将一个组件及其道具传递给另一个组件

  20. 20

    我如何在反应中将一个组件转换为另一个组件

  21. 21

    反应中另一个组件的setStatus

  22. 22

    在React中渲染另一个组件

  23. 23

    在 reactjs 的另一个组件中渲染状态

  24. 24

    在React中使用.map()生成组件时,如何使一个组件与另一个组件通信?

  25. 25

    如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

  26. 26

    如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

  27. 27

    如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

  28. 28

    在另一个组件内调用一个组件(反应)

  29. 29

    更改另一个组件/反应图标中的一个组件

热门标签

归档