- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定两个组件,一个只是 react-bootstrap ListGroup 的呈现器,另一个是包含 console.log 打印输出的函数,我在列表组项目中使用 onClick 时遇到了打印输出的问题。我正在构建一个音乐播放器,列表组包含要点击的歌曲。
当我尝试删除 <Player Player = />
时从 ListGroupItem 开始,它变成了一个 span 元素而不是一个按钮。我可以从 div 中打印一个 console.log,但我打算使用 handleClick 函数开始进行歌曲切换,由于该函数被列为未定义,所以我有点卡住了。
在 player.js 中(包含实际的音乐播放器组件)
handleClick = (e) => {
e.preventDefault();
console.log('hello');
}
在 Songlist.js 中
class Songlist extends Component {
constructor(props) {
super(props);
}
Songlist = () => {
return(
<div className="listgroup">
<ListGroup>
<ListGroupItem onClick=<Player Player = {this.handleClick} />>
button text goes here
</ListGroupItem >
//more list group items go here
</ListGroup>
</div>
);
}
render() {
return (
<div className="Songlist">
{this.Songlist()}
</div>
);
}
}
export default Songlist;
我得到的实际错误消息是“错误:预期 onClick
监听器是一个函数,而不是得到一个 object
类型的值。”但是因为我使用的是箭头函数,所以不需要绑定(bind)任何内容,而且我很确定这是将函数传递给 onClick 监听器的语法,不是吗?
最佳答案
您需要执行以下操作,因为 onClick 需要一个函数,而不是您提供给它的对象。
<ListGroupItem onClick=<Player Player = {this.handleClick} />>
应该变成
<ListGroupItem onClick={() => <Player Player = {this.handleClick} />}>
关于javascript - 使用 React-Bootstrap ListGroup 通过 onClick 触发函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54452606/
我正在使用 bootstrap 3 和 listgroup.js ( https://github.com/rickardn/listgroup.js ) 将选择下拉列表直观地转换为列表。但是,一旦我
我正在使用 react-bootstrap 组成一个列表组,下面是我的渲染代码 render() { return (
我有一个 map ,可以获取所有用户及其点数。 我的代码是这样的: return ( {data.map((user, index) => (
我尝试为列表中的 ListGroup 项目使用这两种颜色:#E1E1E1 和 #C2C2C2。第一个用于偶数项,另一个用于奇数项。它“部分”工作。当打开列表的 Activity 打开时,我得到正确的结
给定两个组件,一个只是 react-bootstrap ListGroup 的呈现器,另一个是包含 console.log 打印输出的函数,我在列表组项目中使用 onClick 时遇到了打印输出的问题
我是一名优秀的程序员,十分优秀!