reactjs - 使用 react-router-dom ()
问题描述
我似乎无法让我的功能组件像我期望的那样传递一个变量。我试过传递道具,没有用,我也不确定语法是否与钱包功能组件相同。有小费吗?
应用程序.js:
const [showRecommender, setRecommenderVisible] = React.useState(true);
<Switch>
<Route
path='/'
render={() => <LandingPage showRecommender={showRecommender} />}
//ALSO TRIED: render={(props) => <LandingPage {...props} showRecommender={showRecommender} />}
/>
</Switch>
LandingPage.js:
const LandingPage = ({showRecommender}) => {
console.log("showRecommender val from landingPage:", showRecommender); //getting undefined????
解决方案
它工作正常。您能否将您的代码与下面的代码匹配,如果您的问题得到解决,请告诉我。
应用程序.js
import React from "react";
import { Switch, Route, BrowserRouter as Router } from "react-router-dom";
import LandingPage from "./components/LandingPage";
function App() {
const [showRecommender, setRecommenderVisible] = React.useState(true);
return (
<Router>
<Switch>
<Route
path="/"
render={() => <LandingPage showRecommender={showRecommender} />}
/>
</Switch>
</Router>
);
}
export default App;
登陆页面.js
import React from "react";
const LandingPage = ({ showRecommender }) => {
console.log("showRecommender val from landingPage:", showRecommender);
return <div>landing page</div>;
};
export default LandingPage;
浏览器控制台
showRecommender val from landingPage: true LandingPage.js:4
推荐阅读
- postgresql - 使用 api-platform graphql 查询读取空间点类型
- c++ - std::vector 和移动语义
- vscode-settings - 在 vim vscode 扩展中是否有特定的键可以输入一个字符并退出插入模式?
- sql - Sequelize:如何查询至少一个关联在 ids 数组中的行
- typescript - Webpack 模块加载与常量冲突
- python - 如何将此 python 函数转换为 c++?
- firebase - firebase登录方法无法在firebase控制台中保存提供者
- node.js - 节点/反应:我无法使用 multer 上传带有帖子的图像
- python - 比较孪生网络的嵌入
- prometheus - 应用程序指标会发生什么,例如未在刮擦间隔中刮擦的进程使用的 CPU prometheus