如何解决如何将material-ui Snackbar实现为全局功能?
我正在使用material-ui Snackbar创建我的react应用。
在我的项目中,我有很多组件,并且不想在每个组件中插入
类似的东西:
从“ SnackbarUtils”导入showSnackbar;
showSnackbar('成功消息');
解决方法
你必须以反应的方式来做。您可以通过创建高阶组件来实现这一点。
- 创建一个 HOC,返回一个 snackbar 组件和包装的组件
- 在该 HOC 中创建一个函数,该函数接受消息、严重性(如果您像我一样使用 Alert)、持续时间并设置设置为 props of the snackbar 的适当状态。并将该函数作为道具传递给wrappedComponent。
- 最后在你想显示小吃店的任何地方导入这个 HOC,在其中传递你的组件并从你想要的事件处理程序中的 prop (this.prop.functionName('Hello there!')) 调用 HOC 函数显示小吃店并传递一条消息。
看看这个。 https://stackblitz.com/edit/snackbar-hoc?file=src/SnackbarHOC.js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。