javascript - 如何在反应中将组件传递给onClick
问题描述
import React from 'react'
export default () => {
function clickHandler() {
console.log('Button clicked')
}
return (
<div>
<button onClick={clickHandler}>Click</button>
</div>
)
}
在上面的代码中,我们看到一个函数已传递给 onClick。以同样的方式传递给 onClick 我需要传递一个存在于同一个 src 中的不同组件。这个组件由一个 .js 和一个 .css 文件组成。你能帮我解决一下吗?提前致谢
解决方案
如果您不介意使用类而不是函数,那么您的其他组件应如下所示:
import React from 'react'
class ShowThisAfterClick extends React.Component {
return (
<div>
<p>This is what you want to show</p>
</div>
)
}
export default ShowThisAfterClick
现在您应该更新您显示的组件:
import React from 'react'
import ShowThisAfterClick from './where/you/put/the/ShowThisAfterClick.js'
class Main extends React.Component {
constructor(props){
super(props)
this.state = { isButtonClicked: false }
this.clickHandler = this.clickhandler.bind(this)
}
clickHandler() {
this.setState({ isButtonClicked: true })
}
render() {
const { isButtonClicked } = this.state
return (
<div>
<button onClick={ this.clickHandler }>Click</button>
{ isButtonClicked ? <ShowThisAfterClick /> : ''}
</div>
)
}
}
export default Main
如果您想继续使用功能,那么我建议您阅读手册,它写得非常好。
推荐阅读
- android - 如何在 Visual Studio Team Services 中的托管代理上查找 Android SDK 的位置?
- mqtt - emqtt集群的这些配置项是什么意思?
- windows - 如何使用批处理脚本从反向获取子字符串直到某个字符
- matlab - 使用具有一系列常量值参数的 linspace
- python - Typerror:'list' 对象不可调用,输入来自 .txt Python 3
- c++ - 对象指针以相反的顺序打印结果
- mongodb - 使 Sort() 在 MongoDB 查询中工作
- spring - 在 Spring 中添加了所有依赖项,并且 spring 配置也完成了,然后在运行时它给出了 filenotfoundexception
- php - 如何多次绑定参数两次
- guice - 使用 guice 在运行时按名称获取实例