我正在尝试将参数[<tf.Operation 'pi' type=Const>, <tf.Operation 'r' type=Placeholder>, <tf.Operation 'mul' type=Mul>, <tf.Operation 'mul_1' type=Mul>]
添加到按钮组件
我的函数product
的{{1}}设置如下:
handleIncrement
我的onClick事件:product
据我所知,应该可以在我的handleIncrement = product => {
console.log(product);
this.setState({ count: this.state.count + 1 });
};
中使用它,但打字稿给了我“找不到名称“产品””
我仍在学习React和Typescript的阶段。 我是在做错什么还是全都弄错了?
这是完整的代码:
onClick={() => this.handleIncrement(product)}
答案 0 :(得分:1)
在JS中,变量可以在全局范围内,在函数内或在块内定义范围,具体取决于声明方式或声明方式。
var globalVar = 1;
function example() {
var functionVar = 2;
if (functionVar) {
let blockVar = 3; // let makes a variable "block-scoped"
}
}
在任何特定范围内,您都可以访问该范围内定义的变量,也可以访问其上方的所有范围,直至全局范围(全局变量在任何地方都可见)。
var globalVar = 1;
function example() {
// here we also have access to globalVar, since it's in an upper scope
var functionVar = 2;
if (functionVar) {
// here we have access to globalVar and functionVar, since they are both in an upper scope
let blockVar = 3;
}
}
在组件的render
方法中,您正在使用名为product
的变量,但没有在render
范围内(或上述范围内)的任何地方定义它:
render() {
return (
<div>
{/* ... */}
<button
{/* ... */}
onClick={() => this.handleIncrement(product)}
{/* ^^^^^^^ not defined anywhere in this scope */}
>
{/* ... */}
</div>
);
}
这是一个如何中断的示例:
function render() {
console.log(product);
}
render();