0

React With TypeScript 项目里组件需要一个onChange事件
代码示例:

handlerChange(event: any, value: string){
    this.setState({value});
}

render(){
    return (
        <BottomNavigation onChange={this.handlerChange}>
            <ButtonNavigationIconButton>..</ButtonNavigationIconButton>
            ...
        </BottomNavigation>
    )
}

这种写法虽然ES6能过关,但是在TypeScript中无法通过类型检测, 于是

源码中onChange需求类型

即使onChange事件与type类型中描述相同仍然无法通过类型检测
[ts] 错误提示如图:

于是乎又尝试其他写法来绕过检测:

handlerChange(event: any, value: string){
    this.setState({value});
}

render(){
    return (
        <BottomNavigation onChange={this.handlerChange.bind(this, event)}>
            <ButtonNavigationIconButton>..</ButtonNavigationIconButton>
            ...
        </BottomNavigation>
    )
}

如预期 类型检测是通过了.. 但是仍然觉得有些不对:

果然

跪求各位大佬 教一下 这种 TypeScript 携参 事件的正确编写方式!!!

1个回答

0

用箭头函数可好?

撰写答案