如何在不同的路径中打开 semantic-ui-react modal?
How to open semantic-ui-react modal in a different route?
我正在使用语义 UI React 和 React Router。我想实现的是当用户打开一个模态时,地址应该显示模态对应的路由,例如当用户打开文章模态时,路由应该是www.example.com/article.
我怎样才能做到这一点?
semantic-ui-react 中的模态有一个布尔值 open
属性。一旦你定义了那个道具,你就会覆盖开箱即用的 Modal
组件上控制的内部状态。
您需要自己控制组件的打开状态才能实现此目的。您将需要从您的路线中获取一个参数,该参数指定模态是否打开。如果存在该参数,您可以将模态设置为打开。如果不存在,您可以将其设置为关闭。
您还需要处理模态框的关闭,因为它不再属于模态框组件的内部。可能最简单的方法是在关闭按钮上设置一个 onClick 事件,该事件会将路由器历史记录推送到上一步。或者如果你喜欢去其他地方,你可以推到其他地方。
您可以在 closeIcon
道具上传递一个节点(不仅仅是一个字符串),您可以在其中实际定义您自己的按钮和执行路由器推送的点击事件。
我正在使用语义 UI React 和 React Router。我想实现的是当用户打开一个模态时,地址应该显示模态对应的路由,例如当用户打开文章模态时,路由应该是www.example.com/article.
我怎样才能做到这一点?
semantic-ui-react 中的模态有一个布尔值 open
属性。一旦你定义了那个道具,你就会覆盖开箱即用的 Modal
组件上控制的内部状态。
您需要自己控制组件的打开状态才能实现此目的。您将需要从您的路线中获取一个参数,该参数指定模态是否打开。如果存在该参数,您可以将模态设置为打开。如果不存在,您可以将其设置为关闭。
您还需要处理模态框的关闭,因为它不再属于模态框组件的内部。可能最简单的方法是在关闭按钮上设置一个 onClick 事件,该事件会将路由器历史记录推送到上一步。或者如果你喜欢去其他地方,你可以推到其他地方。
您可以在 closeIcon
道具上传递一个节点(不仅仅是一个字符串),您可以在其中实际定义您自己的按钮和执行路由器推送的点击事件。