Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Reactjs和节点js路由问题_Node.js_Reactjs_Routing - Fatal编程技术网

Node.js Reactjs和节点js路由问题

Node.js Reactjs和节点js路由问题,node.js,reactjs,routing,Node.js,Reactjs,Routing,我正在做一个项目,但在路由上遇到了麻烦。我想从一个组件导航到另一个组件,但我不想更改页面的url 例如: 如果是这样的话,在我点击链接或按钮后就会是这样 这是不可能的。 希望您理解我的问题,如果没有,请通过我的邮件与我联系。 亲爱的用户,请尽快完成,因为我没有足够的时间在这个项目的最后期限上工作,因为离现在只有3天了。 谢谢你!!为了节省宝贵的时间一种简单的方法是在同一页面上有条件地呈现组件。它不会更改URL,还会加载要显示的第二个组件。例如: function Greeting(props)

我正在做一个项目,但在路由上遇到了麻烦。我想从一个组件导航到另一个组件,但我不想更改页面的url 例如: 如果是这样的话,在我点击链接或按钮后就会是这样 这是不可能的。 希望您理解我的问题,如果没有,请通过我的邮件与我联系。 亲爱的用户,请尽快完成,因为我没有足够的时间在这个项目的最后期限上工作,因为离现在只有3天了。
谢谢你!!为了节省宝贵的时间

一种简单的方法是在同一页面上有条件地呈现组件。它不会更改URL,还会加载要显示的第二个组件。例如:

function Greeting(props) {
  const isLoggedIn = props.isLoggedIn;
  if (isLoggedIn) {
    return <UserGreeting />;
  }
  return <GuestGreeting />;
}
功能问候语(道具){
const isLoggedIn=props.isLoggedIn;
如果(isLoggedIn){
返回;
}
返回;
}

不确定为什么不想使用路由和路径。 我认为这是最好的办法

但是回答这个问题,您可以通过设置一个状态变量来实现,该变量应该呈现给哪个组件

我不知道您使用的是钩子还是旧的set状态,但无论哪种情况,您都可以使用一个父组件根据选定的状态呈现子组件

因此,当您单击按钮时,您只需设置显示其他组件的状态

在父组件中可以有类似的内容

  switch (selected) {
    case 'componentA':
      return <ComponentA />;
    case 'componentB':
      return <ComponentB />;
    case 'componentC':
      return <ComponentC />;
    default:
      break;
  }
};

开关(已选择){
案例“组件A”:
返回;
案例“组件B”:
返回;
案例“组件C”:
返回;
违约:
打破
}
};
然后在按钮中设置Selected('componentA')左右

如果您使用的是set state,那么它将是setState({selected:'componentA'})


这是你想要的吗?正如官方网站所说:一个将你的“URL”历史记录保存在内存中的
(不读取或写入地址栏).

先生,我正在制作一份工后表单,如果您填写此表单并单击“下一步”按钮,您可以在该url上看到该表单。组件加载但url未更改。我不理解教程和文档,因此您可以给我一个代码片段尝试使用CSS控制组件的可见性。不要使用路由。