新反应:
我有一个
App.JS:
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Frame>
<Canvas />
<Header />
<Main />
<NavBar />
</Frame>
</div>
</BrowserRouter>
);
}
}
main.js:
const Main = () => (
<Switch>
<Route exact activeClassName="active" path="/" component={Home} />
<Route exact activeClassName="active" path="/art" component={Art} />
<Route exact activeClassName="active" path="/about" component={About} />
<Route exact activeClassName="active" path="/contact" component={Contact} />
</Switch>
);
我也是新反应,但遇到了这个问题。基于react-router
的替代答案是使用wishrouter
,它包装要隐藏的组件并为其提供location
道具(等等)。
import { withRouter } from 'react-router-dom';
const ComponentToHide = (props) => {
const { location } = props;
if (location.pathname.match(/routeOnWhichToHideIt/)){
return null;
}
return (
<ComponentToHideContent/>
)
}
const ComponentThatHides = withRouter(ComponentToHide);
请注意文档中的警告:
Wisrouter不像React Redux的connect订阅状态更改那样订阅位置更改。相反,在位置更改从组件传播出去后重新呈现。这意味着Wisrouter不会在路由转换时重新呈现,除非它的父组件重新呈现。
这个警告是不成立的,这种方法似乎对我来说对于一个非常类似于OP的用例是有效的。
大家好,我不知道发生了什么事。我有以下路线: 只有路径为“/”的路由和路径为“/patient/:id”的路由才有效,其他3条路由只是没有显示与路径对应的组件。 这就是我进入路线的方式。我有一个标题组件,上面有正确的链接。见下文 在头组件中,我从'react router dom'导入{Link};在我声明路由的文件中,我从'react router dom'导入{BrowserRouter,Ro
我有一个React应用程序,目前正在使用react-router@4.2.0,当URL更改时,我正在努力渲染特定的组件。 当我尝试访问时,CityList组件返回一个PropTypes错误。我已经尝试在LocationsWrapper中的Route组件中添加,然后再添加Main config,但是,这会影响其他路由,例如,使其变为空。 //浏览器路由器 //路由器配置-(路由) 我最好避免
我有一个大型git项目,我愚蠢地将其导入eclipse并运行了自动格式化。现在,项目中的每个文件都显示为已修改。与其提交我的格式化文件,我宁愿恢复所有我只格式化过且没有其他更改的文件。例如: 我知道那是文件2。cpp文件2。h和文件3。已使用内容(即,不只是格式化)修改了cpp。我想隐藏对这三个文件的更改,然后签出一个旧版本,这样我就可以在之后重新应用对这些文件的更改。我宁愿避免这样的事情: 如果
我对React Native非常陌生,我想知道如何隐藏/显示组件 这是我的测试用例: 我有一个组件,我想要的是当输入获得焦点时显示,然后当用户按下取消按钮时隐藏。 我不知道如何“访问”TouchableHighlight组件,以便在我的函数中隐藏/显示它 另外,如何从一开始就隐藏按钮?
我确实有一些独特的要求,我想隐藏要从特定角色用户中选择的角色。 例如,我有一个角色名称admin、部门1、部门2和部门3。作为管理员,我应该只能在门户中看到部门1、部门2和部门3的角色管理。 但如果我为管理员定义权限,他/她可以管理角色。管理员用户可以查看Liferay中可用OOTB的所有角色。 有人能帮我配置一下吗?
问题内容: 我想在登录页面中隐藏导航栏。 我确实做到了,但是在其他页面上看不到导航栏。 该代码是My App.jsx文件的一部分。 我在App的状态下创造历史。当此路径名是“ /”或“ / login”时,我隐藏了导航栏。 有用! 但是然后我输入了ID和密码,然后单击登录按钮,获得“成功”结果,并导航到“ / main”。 现在我在主组件中也看不到导航栏。 我怎样才能做到这一点? 对不起,我的英文