Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >onClick呈现不发生ReactJs

onClick呈现不发生ReactJs
EN

Stack Overflow用户
提问于 2018-08-20 19:47:59
回答 2查看 475关注 0票数 0

我正在使用react.js创建一个web应用程序,它也使用react引导程序。

我想要完成的是当用户点击按钮,然后模态将出现,但这是没有发生。

按钮码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div className="rightButtons">
  <button name="updateItem" className="btn btn-primary" onClick={() => { this.onUpdateItem(this.props.selectedAppTypeId)}} >Update Item</button>
</div>

函数,将被调用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onUpdateItem = (id) => {
    return (
      <div className="static-modal">
        <Modal.Dialog>
          <Modal.Header>
            <Modal.Title>Modal title</Modal.Title>
          </Modal.Header>

          <Modal.Body>One fine body...</Modal.Body>

          <Modal.Footer>
            <Button>Close</Button>
            <Button bsStyle="primary">Save changes</Button>
          </Modal.Footer>
        </Modal.Dialog>
      </div>
    );
  }

任何帮助都是很大的帮助。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-20 20:08:17

将HTML返回到您的onClick处理程序中,而不是返回到组件的呈现方法中。如果要在onClick之后显示HTML,则需要在实际呈现中实际返回这些HTML元素。试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Component extends React.Component {
   state = { 
       showModal: false
   }

   renderModal = () => {
    return (
      <div className="static-modal">
        <Modal.Dialog>
          <Modal.Header>
            <Modal.Title>Modal title</Modal.Title>
          </Modal.Header>

          <Modal.Body>One fine body...</Modal.Body>

          <Modal.Footer>
            <Button>Close</Button>
            <Button bsStyle="primary">Save changes</Button>
          </Modal.Footer>
        </Modal.Dialog>
      </div>
    );
   }

     render() {
      return(
        <div>
            <button onClick={() => this.setState({showModal:true})}> Show </button>
            {this.state.showModal && this.renderModal()}
        </div>
     )
    }
}

编辑:您还可以将整个Modal返回语句导出到它自己的组件中,并在showModal状态为真时有条件地呈现该组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const ModalComponent = (props) => {
    return(
        <div className="static-modal">
          <Modal.Dialog>
            <Modal.Header>
              <Modal.Title>Modal title</Modal.Title>
            </Modal.Header>

            <Modal.Body>One fine body...</Modal.Body>

            <Modal.Footer>
              <Button>Close</Button>
              <Button bsStyle="primary">Save changes</Button>
            </Modal.Footer>
          </Modal.Dialog>
        </div>
    )
}

class ParentComponent extends React.Component {
    state = {
        showModal: false
    }

    render(){
        return(
            <div>
                <button onClick={() => this.setState({showModal:true})}>
                    Show Modal
                </button>
                {this.state.showModal && <ModalComponent id='0af141random'/>}
            </div>
        )
    }
}
票数 1
EN

Stack Overflow用户

发布于 2018-08-20 20:07:59

您遇到的问题是,您将一个react函数组件作为事件处理程序传递;函数的返回值是一个react组件,但是调用函数本身不会在DOM中挂载该组件并显示它。

实现这一目标的一个更好的方法可能是将Modal组件放置在组件中,并控制是否通过使用回调来更改父组件的状态来显示它。

就像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ParentComponent extends React.Component {
  showModal() {
    this.setState{
      modalActive: true;
    }
  }

  render() {
    <div>
      <Button onClick={showModal}>Show me the modal!</Button>
      <Modal active={this.state.modalActive} />
    </div>
  }
}

const modalComponent = (props) => {
  return (<div style={{ display: (props.isActive) ? "block" : "none "}}>
    <h1>I'm a modal!</h1>
  </div>)
}

我还没有检查过,但我肯定有自己的道具来显示/隐藏调制解调器。

编辑:下面是react引导文档中的代码示例,显示了它在使用中的https://react-bootstrap.github.io/components/modal/#modals-live

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

https://stackoverflow.com/questions/51941282

复制
相关文章
reactjs
最近在学习react js,ReactJS是Facebook开发的用于构建用户界面的JAVASCRIPT库,利用其可以实现组件式开发。
用户1394570
2018/08/08
1.3K0
JSX onClick 和 HTML onclick 的区别
在 JSX 中可以通过 onClick 这样的方式给一个元素添加一个事件处理函数,当然,在 HTML 中也可以用 onclick (小写 c),但在 HTML 中直接书写 onclick 一直就是为人垢病的写法,网页应用开发界一直倡导的是用 jQuery 的方法添加事件处理函数,直接写 onclick 会带来代码混乱的问题。
Leophen
2021/07/08
1.8K0
javascript中onclick(this)用法和onclick(this.value)用法介绍
2.onclick(this)代码详解 一般标签中会使用href和onclick两种方式来进行进行页面跳转或执行动作,但是小编一般都会使用onclick来进行执行Ajax函数进行跳转,并同时使用οnclick=”xxxxxx(this)”来传递动态参数:例子如下
全栈程序员站长
2022/07/08
1.8K0
Hello ReactJS
前言 React学习前先搭好环境,官网的例子看着比较分散。结合webpack就可以体验完整的es6开发流程了。 源码:https://github.com/Ryan-Miao/hello-react-js/releases/tag/0.1 1. 环境搭建 涉及以下几个技术。但从hello world的角度说,目前先不用知道是干嘛的,先用来学习react,后面再去研究各个组件的功能。 Webpack - A module bundler Babel - A Javascript compiler ES6 -
Ryan-Miao
2018/03/13
1.3K0
Hello ReactJS
react onclick传递参数
onClick={this.Mallclose.bind(this,e,index)}
windseek
2019/01/02
2.8K0
onclick与addEventListener区别
这次做项目遇到了这个问题,本来习惯性的每次都写的是addEventListener绑定click事件。但是当用addEventListener绑定了多次click事件的时候,引发了我的思考,这两者有区别吗?具体的事件分析可查看另一篇文章
全栈程序员站长
2022/09/14
1.5K0
isomorphic reactjs
web应用从最早静态页面、到php后台框架输出、到mv*为主的SPA、到基于node中层的直出,目前有人提出web的下次改变可能将是基于isomorphic javascript的前后台同构应用。
IMWeb前端团队
2019/12/03
2.8K0
isomorphic reactjs
jsp button onclick事件汇总
<input onclick="document.all.WebBrowser.ExecWB(1,1)" type="button" value="打开" name="Button1"> <input onclick="document.all.WebBrowser.ExecWB(4,1)" type="button" value="另存为" name="Button2"> <input onclick="document.all.WebBrowser.ExecWB(10,1)" type="button"
week
2018/08/27
2.2K0
ReactJS简介
1、ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。 2、ReactJS的背景和原理 在Web开发中,我们总需要将变化的数据实时反应到UI上,这时
小胖
2018/06/27
4K0
isomorphic reactjs
isomorphic javascript web应用从最早静态页面、到php后台框架输出、到mv*为主的SPA、到基于node中层的直出,目前有人提出web的下次改变可能将是基于isomorphic
IMWeb前端团队
2017/12/29
1.8K0
isomorphic reactjs
ReactJS 学习——组件
React 提倡组件化的开发方式,每个组件只关心自己部分的逻辑,使得应用更加容易维护和复用。
李振
2021/11/26
1.1K0
ReactJS学习(二)
官方一句很简单的话,道出了什么是ReactJS,就是,一个用于构建用户界面的JavaScript框架,是Facebook开发的一款的JS框架。
用户1289394
2023/01/05
4.1K0
ReactJS学习(二)
ReactJS学习(四)
组件是React中最重要也是最核心的概念,一个网页,可以被拆分成一个个的组件, 像这样:
用户1289394
2023/01/06
8140
ReactJS学习(四)
ReactJS 学习——入门
React 首次被提出是在2014年的 F8 大会上,当期的主题为 “Rethinking Web App Development at Facebook”,这也是 React 名字的由来。
李振
2021/11/26
1.6K0
ReactJS学习(一)
在第一个阶段中前端页面都是静态的,所有前端代码和前端数据都是后端生成的。前端只是纯粹的展示功能,js脚本的作用只是增加一些特殊效果,比如那时很流行用脚本控制页面上飞来飞去的广告。
用户1289394
2023/01/05
7430
ReactJS学习(三)
umi-plugin-react插件是umi官方基于react封装的插件,包含了13个常用的进阶功能。
用户1289394
2023/01/05
1K0
ReactJS学习(三)
Reactjs 入门基础(一)
实例中我们引入了三个库: react.min.js 、react-dom.min.js 和 browser.min.js:   1,react.min.js -React 的 核心库   2,react-dome.min.js - 提供与DOM 相关的功能。   3,browser.min.js 用于将JSX 语法转化为JavaScript 语法。    ReactDOM.render(       <h1>Hello, world!</h1>,       document.getE
用户1197315
2018/01/22
2K0
ReactJS Hook之useState
在 class 中,我们通过在构造函数中设置 this.state 为 { count: 0 } 来初始化 count state 为 0:
JavaEdge
2021/03/18
8630
js中onclick传json数据
js中onclick传json数据 现在要在onclick事件中传递对象参数,由于我们是通过字符串拼接传的,那我们传之前用JSON.stringify(value)先将JSON对象转为JSON字符串,传之后再用eval(value)将JSON字符串转为JSON对象。(当然了,方法很多,这只是其中一种)
别团等shy哥发育
2023/02/25
10.3K0
js中onclick传json数据
JS中onclick函数自动执行问题
第一种写法是每次加载时,先调用clickCon方法,然后将执行结果赋给onclick,每次都会执行
西柚dzh
2022/06/09
5.7K0

相似问题

ReactJS / Pass呈现内容但添加onClick

23

在reactjs中重新呈现组件onClick

22

如何使用reactjs中的reactjs呈现按钮onClick函数

17

无法在onClick (ReactJS)上呈现类组件

16

事件onclick不发生NextJS

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文