Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >动态地向DIV或其他React中添加react组件

动态地向DIV或其他React中添加react组件
EN

Stack Overflow用户
提问于 2020-06-11 14:25:11
回答 2查看 5.6K关注 0票数 2

上下文

我正在尝试根据事件f.g onClick事件动态地将React组件添加到DIV/另一个React组件中。

我尝试并知道我可以通过JS将任何HTML元素添加到DIV中,只需通过createElement就可以添加到DIV中。但我想把反应组分加入到DIV中。

问题:

当我将React组件附加到DIV中时,它将添加Object对象,我正在寻找一种能够在DIV中呈现和插入React组件的方法。

这是codeSandBox:https://codesandbox.io/s/frosty-bouman-f95mx?file=/src/App.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    import React from "react";
    import "./styles.css";
    import Button from "./Button";

    const addToCanvos = () => {
      var canvos = document.querySelector(".canvos");
      canvos.append(<Button />);
    };

    export default function App() {
      return (
        <div className="App">
          <Button event={addToCanvos} />
          <div className="canvos" />
        </div>
      );
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-11 15:08:38

签出实现。基本上,您需要使用useState React来将您想要添加的所有组件存储为画布的子组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default function App() {
  const [buttonsOnCanvos, setButtonsOnCanvos] = useState([]);
  return (
    <div className="App">
      <Button
        event={() => {
          setButtonsOnCanvos([...buttonsOnCanvos, <Button />]);
        }}
      />
      <div className="canvos">{buttonsOnCanvos}</div>
    </div>
  );
}
票数 3
EN

Stack Overflow用户

发布于 2020-06-11 14:34:28

您不需要直接访问DOM。您可以有一个状态来指示是否显示.canvos元素。然后在div中有条件地呈现<Button />

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default function App() {
  const [showCanvos, setShowCanvos] = useState(false);

  const addToCanvos = () => {
    setShowCanvos(true)
  };

  return (
    <div className="App">
      <Button event={addToCanvos} />
      <div className="canvos">
        {showCanvos && <Button />}
      </div>
    </div>
  );
}

注意,我将addToCanvos函数移到App组件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62334553

复制
相关文章
react中父组件向子组件传值
子组件中只能使用不能修改父组件传递过来的数据!!!如果非要修改,那就父组件传递一个方法给子组件,子组件使用这个方法来改变父组件中的数据。这就是react的单项数据流(父组件传递给子组件,不可以在子组件中改变)
全栈程序员站长
2022/09/01
2.5K0
react子组件向父组件传递数据_react子组件改变父组件的状态
本博客代码是 React 父组件和子组件相互传值的 demo;实现封装一个折线图,折线图选择下拉框,获取下拉框点击的值并且传给父组件根据下拉框筛选的条件更新视图;效果图如下:
全栈程序员站长
2022/10/03
3.6K0
react子组件向父组件传递数据_react子组件改变父组件的状态
React向路由组件传递params参数
通过路由传递params参数,可以将动态数据传递给路由组件。这些参数通常用于根据不同的参数值呈现不同的内容或执行不同的操作。在React中,我们可以使用路由库(如react-router-dom)来定义带有参数的路由,并在组件中访问这些参数。
堕落飞鸟
2023/05/20
1K0
React动态添加标签组件
在前端开发的过程中,一些表单的输入经常需要输入多个内容,如果采用一个输入框+逗号分隔的方式,展示起来不是很清晰,一般需要采用标签的方式
zx钟
2023/09/12
4870
React动态添加标签组件
React技巧之添加或移除类
原文链接:https://bobbyhadz.com/blog/react-add-remove-class-on-click[1]
chuckQu
2022/08/19
9320
React技巧之添加或移除类
React中定义组件
PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL
张苹果
2022/09/22
9090
react中添加html内容
直接用 小括号() 就可以,类似这样 state = { content:( <div> <p>Content</p> <p>Content</p> </div> ), }; ... render () { return ( <div> {this.state.cont
wo.
2021/06/15
5.2K0
3、React组件中的this
这段代码运行,可以看到student.func()打印了student对象,因为此时this指向student对象;而studentFunc()打印了window,因为此时由window调用的,this指向window。
keyWords
2018/09/19
2.9K0
3、React组件中的this
React中组件通信方式
组件间的关系 父子组件 兄弟组件(非嵌套组件) 祖孙组件(跨级组件) 通信方式 props:children props、render props 消息订阅-发布:pub-sub 集中式管理:redux conText:生产者-消费者模式 搭配方式 父子组件:props 兄弟组件:消息订阅-发布,集中式管理 祖孙组件:消息订阅-发布,集中式管理,conText(封装插件使用的多)
peng_tianyu
2022/12/15
5460
React中的纯组件
React提供了一种基于浅比较模式来确定是否应该重新渲染组件的类React.PureComponent,通常只需要继承React.PureComponent就可以定义一个纯组件。React.PureComponent与React.Component很相似,两者的区别在于React.Component并未实现shouldComponentUpdate(),而React.PureComponent中以浅层对比prop和state的方式来实现了该函数。如果赋予React组件相同的props和state,render()函数会渲染相同的内容,那么在某些情况下使用React.PureComponent可提高性能。
WindRunnerMax
2021/01/18
2.5K0
React中的高阶组件
高阶组件HOC即Higher Order Component是React中用于复用组件逻辑的一种高级技巧,HOC自身不是React API的一部分,它是一种基于React的组合特性而形成的设计模式。
WindRunnerMax
2021/01/18
3.8K0
React 中引入 Angular 组件
为了在我的编辑器中使用 Angular,我用 Angular 编写了一个重命名功能。而为了使用它,我得再次使用一次 customEvent,而在这个微前端架构的系统中,其事件通讯机制已经相当的复杂。在这部分的代码进一步恶化之前,我得尝试有没有别的方式。于是,我想到了之前在其它组件中使用的 Web Components 技术,而 Angular 6 正好可以支持。
不知雨
2018/08/21
2.1K0
React基础(6)-React中组件的数据-state
一个组件最终渲染的数据结果,除了prop还有state,state代表的是当前组件的内部状态,你可以把组件看成一个'状态机",它是能够随着时间变化的数据,更多的是应当在实现交互时使用,根据状态state的改变呈现不同的UI展示
itclanCoder
2019/11/04
6.1K0
React基础(5)-React中组件的数据-props
开发一个React应用,更多的是在编写组件,而React组件最小的单位就是React元素,编写组件的最大的好处,就是实现代码的复用
itclanCoder
2019/09/28
6.7K0
React基础(5)-React中组件的数据-props
React学习笔记—React组件
1、Component React的首要思想是通过组件(Component)来开发应用。所谓组件,简单说,指的是能完成某个特功能的独立的、可重用的代码。 基于组件的应用开发是广泛使用的软件开发模式,用分而治之的方法把一个大的应用分解成若干小的组件,每个组件只关注于某个小范围的特定功能,但是把组件组合起来,就能够构成一个功能庞大的应用。如果分解功能的过程足够巧妙,那么每个组件可以在不同场景下重用,那样不光可以构建庞大的应用,还可以构建出灵活的应用。打个比方,每个组件是一块砖,而一个应用是一座楼,想要一次锻造就
小胖
2018/06/28
9750
React篇(020)-如何在 React 中创建组件?
答案:有两种可行的方法来创建一个组件: 1. Function Components: 这是创建组件最简单的方式。这些是纯 JavaScript 函数,接受 props 对象作为第一个参数并返回 React 元素:
齐丶先丶森
2022/05/12
2.9K0
React学习(五)-React中组件的数据-props
开发一个React应用,更多的是在编写组件,而React组件最小的单位就是React元素,编写组件的最大的好处,就是实现代码的复用
itclanCoder
2020/10/28
3.4K0
React学习(五)-React中组件的数据-props
React学习(六)-React中组件的数据-state
一个组件最终渲染的数据结果,除了prop还有state,state代表的是当前组件的内部状态,你可以把组件看成一个'状态机",它是能够随着时间变化的数据,更多的是应当在实现交互时使用,根据状态state的改变呈现不同的UI展示
itclanCoder
2020/10/28
3.6K0
React学习(六)-React中组件的数据-state
React 组件
接下来我们封装一个输出 "Hello World!" 的组件,组件名为 HelloMessage:
陈不成i
2021/07/29
7630
点击加载更多

相似问题

如何动态地向DOM添加react组件?

21

如何在react中向div添加组件?

31

向rails react组件包装div添加样式

10

根据状态动态地向react页面添加组件

13

使用Rails布局动态地向React组件添加子组件吗?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文