我有一个组件,在使用Route组件进行渲染时需要传递道具。问题在于打字稿在JSX中不允许使用lambda函数,而我只是不知道如何将其重写为允许的函数:
<Route
key={index}
exact={true}
path={item.urlAddress}
render={() => <DocumentView data={data} />}
/>
我尝试过此方法,但仍被认为是lambda,不知道为什么:
render={function() { <DocumentView /> }}
有人知道如何重写吗?
编辑:我知道这是一个小问题,我正在寻找根据ts-lint标准编写此文件的正确方法。我知道我可以添加规则例外,但是我想知道如何以“适当的”方式执行此操作,而不是每次遇到棉绒问题时都不要添加例外
答案 0 :(得分:5)
您可以更改tslint规则,以允许在渲染中使用箭头功能。但是,由于您询问了编写上述内容的另一种方法。它会写成
renderDocument = (props) => {
return <DocumentView data={data} {...props}/>
}
render() {
return (
<Route
key={index}
exact={true}
path={item.urlAddress}
render={this.renderDocument}
/>
)
}