当前位置: 首页 > 知识库问答 >
问题:

onclickreact-通知不显示,但它运行函数

翁昊乾
2023-03-14

我创建了一个调查页面,但是当有人没有学分时,我想使用react-通知向用户显示通知,我已经测试了这个按钮,并且它可以独立工作,但是当我在onClark事件中使用react-router-dom将其添加到标签中时,函数运行,但通知不显示。这是代码:

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信用,但是,它只是重定向到引用的页面,而不显示创建的通知。

在我这边,无论是终端还是控制台或网络都不会出现错误。但是仍然,通知被处理但没有显示。

所以我的问题是:当标签重定向到新页面时,是否有可能使通知出现?如果不可能,我看到解决方案的唯一方法是有条件地停止标签以进行更改,我错了吗?

提前感谢。对不起,如果我的问题没有正确地提出或写出来,这是我在这里的第一个问题。

共有2个答案

鲍国兴
2023-03-14

这可能是一个很晚的答复,但对于那些谁没有回答,因为链接不接受onCLick。。。尝试使用html或react或reactbootstrap包

龚威
2023-03-14

onClickprop以获得Linkaccept函数引用。所以试着换一个

 <Link to="/surveys/new" className="btn-floating btn-large red" onClick={this.createNotification}>
     <i className="material-icons">add</i>
 </Link>
 类似资料:
  • 这是一个启动Java程序,经典的“hello world”,使用Netbeans(操作系统是Mac)。在我点击“运行”按钮后,程序确实运行了,但拒绝显示输出。我能做些什么来解决这个问题? 附言:这是我的苹果电脑上的Java版本: java版本“1.8.0_60”Java(TM)SE运行时环境(构建1.8.0_60-b27)JavaHotSpot(TM)64位服务器虚拟机(构建25.60-b23,混

  • 我的应用程序生成了一个通知,但我为该通知设置的图标没有显示。取而代之的是一个白色的方块。 我试过调整图标的png大小(尺寸720x720,66x66,44x44,22x22)。奇怪的是,当使用较小的尺寸时,白色的正方形更小。 我搜索了这个问题,以及生成通知的正确方法,从我读到的代码来看,应该是正确的。不幸的是,事情并不像他们应该的那样。

  • 我正在使用php使用Firebase向我的Android应用程序构建使用统一发送消息推送。应用程序正在接收通知并将其显示在托盘中,但不会像Whats应用程序或其他应用程序那样将其显示为弹出通知。 我的php代码是: 它还显示灰度图标而不是彩色图标。我想以弹出方式显示通知。有任何方法可以使用FCM吗?

  • 通知通道的新代码在旧的和最新的奥利奥设备上运行良好,但当我在API 28(android P)设备上测试时,它没有在通知栏中显示通知,这是我用来启动前台通知的行。

  • 我正在创建一个应用程序,显示未来日期的通知。为了在将来显示通知,我使用了AlarmManager。 在我的一个活动中单击按钮,我会创建如下通知 以下是我的BootService类代码: 在测试应用程序时,我看到通知显示,问题是特定于启动手机。在上面的代码中,我通过调用LoadAlarmsFromDatabase来重新创建通知 为了处理启动时重新创建警报,我使用了BroadcastRecaver 公

  • 我试着在这个论坛找到这一个,我找到了一对夫妇,但没有人为我工作。我只需要将它隐藏在通知面板中,在大图标旁边出现,但如果我隐藏它,它也会从通知栏中消失。 有没有办法像第一个和第四个通知那样只显示大图标? 这是我正在使用的代码: