【发布时间】:2019-03-09 10:08:33
【问题描述】:
我有一个组件,我需要在使用 Route 组件进行渲染时将 props 传递到该组件中。问题是 typescript 在 JSX 中不允许使用 lambda 函数,我只是不知道如何将其重写为允许的函数:
<Route
key={index}
exact={true}
path={item.urlAddress}
render={() => <DocumentView data={data} />}
/>
我试过了,但它仍然被评估为 lambda,不知道为什么:
render={function() { <DocumentView /> }}
有人知道怎么改吗?
编辑:我知道这是一个 linter 问题,我正在寻找根据 ts-lint 标准编写它的正确方法。我知道我可以添加规则例外,但我想知道如何以“正确”的方式执行此操作,而不是每次遇到 linting 问题时都添加例外
【问题讨论】:
-
render={(data) =>
-
这仍然是一个 lambda,并且不被 tslint 接受
-
能把error的内容发过来吗,是不是jsx-nolambda
-
ts-lint: "由于对渲染性能的影响,在 JSX 属性中禁止使用 lambdas (jsx-no-lambda)"
-
@melbil 这不是打字稿问题您可以传递 lambda,语言允许。您只是在 tslint 中有一条规则(它强制执行最佳实践)来禁止它。
标签: reactjs typescript react-router