在 React 中,我创建了下面提到的函数:
infoPrint (firstname = '--', middlename = '--', surname = '--')
{
console.log('Firstname: ', firstname, ', Middle name: ', middlename, ', Surname: ', surname);
}
我在 componentWillMount 中调用这个函数:
componentWillMount() {
var firstname = 'Naisarg';
var surname = 'Parmar';
this.infoPrint(firstname,surname);
}
我得到这个输出:
Firstname: Naisarg, Middle name: Parmar, Surname: --
但我期待这个:
Firstname: Naisarg, Middle name: --, Surname: Parmar
最佳答案
您可以通过传递文字对象作为函数的参数来实现这一点:
class User extends Component {
componentWillMount() {
var firstname = 'Naisarg';
var surname = 'Parmar';
this.infoPrint({ firstname, surname });
}
infoPrint({ firstname = '--', middlename = '--', surname = '--' }) {
console.log('Firstname: ', firstname, ', Middle name: ', middlename, ', Surname: ', surname);
}
}
这是一种非常常见的模式,对可选参数有很大帮助。
-
如果您不想使用对象,则必须以正确的顺序传递所有参数:
class User extends Component {
componentWillMount() {
var firstname = 'Naisarg';
var surname = 'Parmar';
this.infoPrint(firstname, null, surname);
}
infoPrint(firstname = '--', middlename = '--', surname = '--') {
console.log('Firstname: ', firstname, ', Middle name: ', middlename, ', Surname: ', surname);
}
}
关于javascript - 在 React 中将特定参数传递给具有多个参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338891/