Не лямбда в рендере React-Router V4 - PullRequest
0 голосов
/ 04 октября 2018

У меня есть компонент, в который мне нужно передать реквизиты при рендеринге с использованием компонента Route.Проблема в том, что машинописный текст запрещает лямбда-функции в JSX, и я просто не могу понять, как переписать это в разрешенную функцию:

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

Я пробовал это, но это все еще оценивается как лямбда,не знаю почему:

render={function() { <DocumentView /> }}

Кто-нибудь знает, как его переписать?

Редактировать: я знаю, что это вопрос с задержкой, и я ищу правильный способ написать этосогласно стандартам ts-lint.Я знаю, что могу добавить исключение из правила, но я хочу знать, как сделать это «правильным» способом, не добавляя исключения каждый раз, когда я сталкиваюсь с проблемой с задержкой

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете внести изменения в правила tslint, чтобы разрешить функции стрелок при рендеринге.Тем не менее, так как вы попросили альтернативный способ написать выше.Это будет написано как

renderDocument = (props) => {
   return <DocumentView data={data} {...props}/>
}
render() {
    return (
        <Route
           key={index}
           exact={true}
           path={item.urlAddress}
           render={this.renderDocument}
        />
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...