我创建了一个调查页面,但是当有人没有积分时,我想使用 react-notifications 向用户显示通知,我已经测试了按钮并且独立它可以工作,但是当我使用 react 将它添加到标签时-router-dom 在 onClick 事件上,函数运行,但通知不出现。这是代码:
import React, { Component } from 'react';
import 'react-notifications/lib/notifications.css';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import {NotificationContainer, NotificationManager} from 'react-notifications';
class Button extends Component {
createNotification = () => {
return () => {
switch (this.props.auth.credits) {
case 0:
console.log(this.props.auth.credits);
NotificationManager.error('You have no credits', 'Click to close!', 5000, () => {
});
break;
}
};
};
render() {
return (
<div>
<div className="fixed-action-btn">
<Link to="/surveys/new" className="btn-floating btn-large red" onClick={this.createNotification()}>
<i className="material-icons">add</i>
</Link>
</div>
<NotificationContainer/>
</div>
);
}
}
function mapStateToProps({ auth }){
return { auth };
}
export default connect(mapStateToProps)(Button);
因此,当我对此进行测试时:
import React from 'react';
import Surveys from './surveys/Surveys';
import Button from '../utilities/addButton';
const Board = () => {
return (
<div>
<Surveys />
<Button />
</div>
);
};
export default Board;
它显示了按钮,当点击时没有积分,它控制台记录 0 积分,但是,它只是重定向到引用的页面而不显示创建的通知。
就我而言,它在终端、控制台或网络中都没有出现错误。但是,通知已处理但未显示。
所以我的问题是:是否可以在标签重定向到新页面时显示通知,如果不可能,我看到解决方案的唯一方法是有条件地停止标签进行更改,我错了吗?
提前致谢。抱歉,如果我的问题没有正确提出或书写,这是我的第一个问题。