【发布时间】:2018-01-10 09:25:36
【问题描述】:
我正在创建一个简单的任务演示并制作 taskNameInput 组件。您可以看到我尝试解决此问题的几种方法,但我不断收到错误。如何使用 Typescript 进行 React?
您可以查看我的 tsconfig.json 和 tslint.json 的 repo:https://github.com/Falieson/react15-meteor1.5,我正在使用 tslint-react 附带 jsx-no-lambda 和 jsx-no-bind
触发 jsx-no-bind 错误
public renderTaskInput(): React.ReactElement<{}> {
return (
<div>
<input
onChange={this.handleNewTaskName.bind(this)}
/>
</div>
)
}
触发 jsx-no-lambda 错误
public renderTaskInput(): React.ReactElement<{}> {
return (
<div>
<input
onChange={(e: React.FormEvent<HTMLInputElement>) => this.handleNewTaskName(e)}
/>
</div>
)
}
我之前的提交是一个反例。你可以看到我的 CounterComponent 的 bind 调用不会导致 jsx-no-bind 错误并且满足 jsx-no-lambda 规则。
return (
<button onClick={this.handleChangeValue.bind(this, decrement)}>
{decrement ? 'Decrease' : 'Increase'}
</button>
)
【问题讨论】:
标签: javascript reactjs typescript typescript-typings tslint