传递值时反应按钮类型发生变化
React button type changed while passing in a value
所以我正在使用 flowtype 进行 React,我有一个类型为 ItemType
的值,它是一个具有不同属性的对象。
例如,如果我声明 item: ItemType
,并且在控制台日志项中将打印出
Item { Property1: 'someValue', Property2: 'someValue', Property3: 'someValue'}
我正在尝试将变量作为值传递,例如
<button value={item} onClick={this.onButtonClick}>Click Me!</button>
据说我传入的 item
是一个 ItemType
,但是当我检查类型时它变成了一个字符串。我尝试控制台记录回调函数中的类型,如下所示
onButtonClick = event => {
console.log("type checking: " + typeof event.target.value); // Output: type checking: string
}
我不知道为什么会这样,因为我需要变量是正确的类型而不是字符串。谁能解释一下这个问题?
按钮 value
属性在提交 HTML 表单时与其名称相关联,请阅读此处的道具:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
要实现我相信你想要的,你可以试试这个:
<button onClick={() => this.onButtonClick(item)}>Click Me!</button>
然后您应该可以访问 onButtonClick
方法中的项目对象。
onButtonClick = item => {
console.log(item)
// output: { Property1: 'someValue', Property2: 'someValue', Property3: 'someValue'}
}
所以我正在使用 flowtype 进行 React,我有一个类型为 ItemType
的值,它是一个具有不同属性的对象。
例如,如果我声明 item: ItemType
,并且在控制台日志项中将打印出
Item { Property1: 'someValue', Property2: 'someValue', Property3: 'someValue'}
我正在尝试将变量作为值传递,例如
<button value={item} onClick={this.onButtonClick}>Click Me!</button>
据说我传入的 item
是一个 ItemType
,但是当我检查类型时它变成了一个字符串。我尝试控制台记录回调函数中的类型,如下所示
onButtonClick = event => {
console.log("type checking: " + typeof event.target.value); // Output: type checking: string
}
我不知道为什么会这样,因为我需要变量是正确的类型而不是字符串。谁能解释一下这个问题?
按钮 value
属性在提交 HTML 表单时与其名称相关联,请阅读此处的道具:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
要实现我相信你想要的,你可以试试这个:
<button onClick={() => this.onButtonClick(item)}>Click Me!</button>
然后您应该可以访问 onButtonClick
方法中的项目对象。
onButtonClick = item => {
console.log(item)
// output: { Property1: 'someValue', Property2: 'someValue', Property3: 'someValue'}
}