0

我在 React+Javascript 中使用了 react-notification-system,当我在 React+Typescript 中尝试时,它会抛出错误

Type 'ReactInstance' is not assignable to type 'null'
Type 'Element' is not assignable to type 'null'

在包含的行中componentDidMount()

患者添加.tsx

import * as NotificationSystem from 'react-notification-system';
class Patientadd extends React.Component<any, IState> {

public componentDidMount=()=>{
    this._notificationSystem = this.refs.notificationSystem;
  }

  _notificationSystem: null;
  _addNotification=(event)=> {
      this._notificationSystem.addNotification({
        message: event.message,
        title:event.title,
        level: event.level,
        autoDismiss: event.autoDismiss,
      });
  }
  public render() {
    return (
        <div className="App2">
          <NotificationSystem ref="notificationSystem" />
        </div>
    );
  }
}
4

1 回答 1

0

请试试

import React from 'react';
import ReactDOM from 'react-dom';
import * as NotificationSystem from 'react-notification-system';

export default class Patientadd extends React.Component<any, IState> {
  notificationSystem = React.createRef();

  addNotification = (event: any) => {
    event.preventDefault();
    const notification = this.notificationSystem.current;
    notification.addNotification({
      message: event.message,
      title:event.title,
      level: event.level,
      autoDismiss: event.autoDismiss,
    });
  };

  render() {
    return (
      <div className="App2">
        <button onClick={this.addNotification.bind(this)}>Add notification</button>
        <NotificationSystem ref={this.notificationSystem} />
      </div>
    </div>
    );
  }
}
于 2019-03-05T13:22:41.883 回答