React-Router V4渲染函数中的非lambda

mel*_*bil 1 typescript reactjs react-router

我有一个组件,我需要在使用Route组件渲染时传递道具.问题是,打字稿不允许在JSX中使用lambda函数,我只是无法弄清楚如何将其重写为允许的函数:

<Route
   key={index}
   exact={true}
   path={item.urlAddress}
   render={() => <DocumentView data={data} />}
/>
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它仍被评估为lambda,不知道为什么:

render={function() { <DocumentView /> }}
Run Code Online (Sandbox Code Playgroud)

谁知道如何重写它?

编辑:我知道这是一个linter发布,我正在寻找根据ts-lint标准写这个的正确方法.我知道我可以添加规则异常,但我想知道如何以"正确"方式执行此操作,而不是每次遇到linting问题时都不添加异常

Shu*_*tri 5

您可以在tslint规则中进行更改,以允许渲染中的箭头函数.但是,既然你问了另一种写上面的方法.它会写得像

renderDocument = (props) => {
   return <DocumentView data={data} {...props}/>
}
render() {
    return (
        <Route
           key={index}
           exact={true}
           path={item.urlAddress}
           render={this.renderDocument}
        />
    )
}
Run Code Online (Sandbox Code Playgroud)