当前位置: 首页 > 知识库问答 >
问题:

将切换类添加到React中的div

党建义
2023-03-14

我想在这个例子中展开,我点击“show more”按钮,它滚动到div,我想向show more组件添加一个toggle类。

import React, { useRef } from 'react'

const Article = () => {
    const titleRef = useRef()

    function handClick() {

       // Add toggle class for show-more???

       titleRef.current.scrollIntoView({ behavior: 'smooth' })
    }

    return (
        <article>
            <button onClick={handClick}>Show more</button>
            <div className="show-more" ref={titleRef}>Some content to show onclick</div>
        </article>
    )
}

共有1个答案

梁丘扬
2023-03-14

尝试:

import React, { useRef, useState } from 'react'

const Article = () => {
    const titleRef = useRef()
    
    const [showMore, setShowMore] = useState(false);

    function handClick() {

       setShowMore(!showMore);

       titleRef.current.scrollIntoView({ behavior: 'smooth' })
    }

    return (
        <article>
            <button onClick={handClick}>Show more</button>
            <div className=`show-more ${showMore ? 'showMoreClass' : ''}` ref={titleRef}>Some content to show onclick</div>
        </article>
    )
}
 类似资料:
  • 问题内容: 我在有菜单按钮的项目中使用react。 还有一个Sidenav组件,例如: 我编写了以下代码来切换菜单: 事实是,这不是DOM元素,我无法在他上添加类。 有人可以向我解释如何像在按钮上一样在组件上切换类吗? 问题答案: 如果您想让React正确高效地渲染DOM,则必须使用组件的State来更新组件参数,例如Class Name。 更新:我更新了示例,以在单击按钮时切换Sidemenu。

  • Nerv 提供了比 React 更好的浏览器兼容性和更高的性能,与此同时也不会放弃 React 庞大的生态系统。兼容 React 生态系统是我们开发 Nerv 的重要目标之一。 假设我们有这样一段代码: var React = require('react'); var ReactDOM = require('react-dom'); class MyComponent extends Reac

  • 问题内容: 我试图在提交到github时隐藏我的API密钥,并且我在论坛中浏览了相关指南 我进行了更改,然后重新开始了纱线。我不确定自己在做什么错–我在项目的根目录(我命名了它)中添加了一个文件,并在我刚刚放入的文件中添加了一个文件。 我想这可能是在App.js中向我添加密钥的方式,并且我尝试了多种格式,包括不使用模板文字,但是我的项目仍然无法编译。 任何帮助深表感谢。 问题答案: 4个步骤 接下

  • 问题内容: 我已经有了一个状态: 现在,我想用新信息对其进行更新。因此,向其添加另一个div。 像这样: 我该怎么做?或者我需要从零开始设置新状态 问题答案: 我认为以组件状态存储jsx组件不是一个好主意。我认为您应该仅以呈现组件所需的状态保存数据。 如果您真的想在状态中存储jsx,为什么不将“对话”属性定义为数组?然后,您可以向其中添加新组件。 但是最好只存储数据,例如“ first”和“ ne

  • 问题内容: 我正在使用wtforms(和flask)生成动态表单。我想向正在生成的字段中添加一些自定义的CSS类,但是到目前为止,我一直无法这样做。使用在这里找到的答案,我尝试使用自定义小部件来添加此功能。它的实现方式与该问题的答案几乎完全相同: 在View中,我这样做是为了创建字段(ClassedTextField是从表单导入的,而f是基本表单的实例): 表单的其余部分均已正确创建,但此jinj

  • 问题内容: 我正在将webpack与css-loader一起使用以加载我的css样式并将其添加到React组件中。 我正在动态计算单元格的高度/宽度。在这里,他们描述了如何动态地向组件添加样式,但是我更喜欢在没有样式属性的情况下进行。 我尝试在其中一个父组件中执行此操作,以为它可能会更改css类,但这似乎不起作用。 有关如何最好地做到这一点的任何反馈? 问题答案: 您应该使用style属性,这就是