是否可以避免react-router在初始加载时强制两个渲染?

时间:2019-07-14 05:11:16

标签: javascript reactjs react-router

我正在使用React Router,在那里我需要将道具发送到我正在渲染的组件。因此,我正在使用以下格式:

<Route exact path={ROUTES.HOME} component={() => <HomeAuth ga={ga} />} />

component=的这种格式导致运行componentDidMount,然后将其卸载,然后再次安装。这是一个问题,因为我有一些承诺会在卸载后返回,这意味着它们将返回一个不再存在且将不再存在的组件。

此组件的实现对我有用,但是我不知道是否可以将prop传递给它。我有什么办法可以使用上面的格式并避免第二次安装,或者将道具传递给该格式?:

<Route exact path={ROUTES.HOME} component={HomeAuth} />

1 个答案:

答案 0 :(得分:0)

找到了!可以使用render =代替此处编写的component =来实现:https://tylermcginnis.com/react-router-pass-props-to-components/

这不会在每个渲染器上创建一个新组件(因为为什么!)

梦night是什么!