Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量类型传递函数指定为属性_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript 将变量类型传递函数指定为属性

Javascript 将变量类型传递函数指定为属性,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,具有父组件和子组件。我们的目标是像官方的react教程中描述的那样,将状态从孩子提升到家长 在TypeScript中,应该定义道具接口,如下所示: interface TemperatureInputInterface { .. this.props.onTemperatureChange: what_type_here? } 但是在这种情况下使用哪种类型,因为它们都提供smth,比如: 无法调用其类型缺少调用签名的表达式。类型“what_Type_here”没有兼容的呼叫签名 例如,

具有父组件和子组件。我们的目标是像官方的react教程中描述的那样,将状态从孩子提升到家长

在TypeScript中,应该定义道具接口,如下所示:

interface TemperatureInputInterface {
  ..
  this.props.onTemperatureChange: what_type_here?
}
但是在这种情况下使用哪种类型,因为它们都提供smth,比如:

无法调用其类型缺少调用签名的表达式。类型“what_Type_here”没有兼容的呼叫签名


例如,您可以使用:

interface TemperatureChangeFunc {
    (arg1: string, arg2: number): boolean;
}

interface TemperatureInputInterface {
  onTemperatureChange: TemperatureChangeFunc,
}
或者简单地说:

interface TemperatureInputInterface {
  onTemperatureChange: (arg1: string, arg2: number) => boolean,
}

例如,您可以使用:

interface TemperatureChangeFunc {
    (arg1: string, arg2: number): boolean;
}

interface TemperatureInputInterface {
  onTemperatureChange: TemperatureChangeFunc,
}
或者简单地说:

interface TemperatureInputInterface {
  onTemperatureChange: (arg1: string, arg2: number) => boolean,
}

您只需为它提供回调所需的类型,因此:

interface TemperatureInputInterface {
   onTemperatureChange: (newValue: number) => void;
}

您只需为它提供回调所需的类型,因此:

interface TemperatureInputInterface {
   onTemperatureChange: (newValue: number) => void;
}

如果您试图让父组件从子组件获取状态,则很可能需要订阅它。我脑子里没有现成的代码来解释它。了解子组件如何发出事件(如onTemperatureChange),以及组件如何处理从另一个组件发出的事件。这可能会有所帮助。如果您试图让父组件从子组件获取状态,则很可能需要订阅它。我脑子里没有现成的代码来解释它。了解子组件如何发出事件(如onTemperatureChange),以及组件如何处理从另一个组件发出的事件。这可能会有所帮助。好的,看起来林特喜欢这样:
onTemperatureChange:((newValue:number)=>void)
Ok,看起来林特喜欢这样:
onTemperatureChange:((newValue:number)=>void)