如果该书在usersBooks数组中不存在,我想显示按钮以添加一本书,我认为该功能运行良好,但绑定会导致问题:
doesExistInUsersBooks = (title) => {
if(this.props.userBooks.find(b => b.title == title)) {
return true;
} else {
return false;
}
}
我以这种方式使用它:!this.doesExistInUserBooks.bind(this, title) && <Button ... />
答案 0 :(得分:0)
声明函数后,您正在使用ES6自动绑定。这就是为什么不需要绑定。您应该尝试将代码更改为此:
!doesExistInUserBooks(title)
答案 1 :(得分:0)
您需要致电函子:
this.doesExistInUsersBooks.bind(this, title)() && <Button ... />
在此处检查其工作原理: https://stackblitz.com/edit/react-xedawq?embed=1&file=index.js
答案 2 :(得分:0)
您可以做的就是以这种方式声明您的函数:
doesExistInUsersBooks(title){
// your code
}
或如Serdar建议的那样使用它:
!doesExistInUserBooks(title)