道具验证中缺少

Missing in props validation

我正在为此代码使用 linter。

import React, { Component } from 'react';
import { Modal, ModalHeader, ModalBody, ModalFooter } from 
'reactstrap';
import PropTypes from 'prop-types';

export default class Sumo extends Component {
  render() {
  return(
  <Modal isOpen={this.props.modal} toggle={this.props.toggle} 
  className={this.props.className}>
    <form action="/demo" method="post">
      <ModalHeader toggle={this.props.toggle}>Schedule a One-on-one 
      Online Demo Now!</ModalHeader>
      <ModalBody>
        <div className="form-group">
          <input className="form-control" type="text" 
          placeholder="name" required/>
          </div>
          <div className="form-group">
            <input className="form-control" type="email" 
            placeholder="email" required/>
          </div>
          <div className="form-group">
            <input className="form-control" type="tel" 
            placeholder="phone number" required/>
          </div>
          <div className="form-group">
            <textarea className="form-control" rows="4" 
              placeholder="How can we help you?"/>
          </div>
        </ModalBody>
        <ModalFooter>
        <button className="btn btn-success">Submit</button>
      </ModalFooter>
    </form>
  </Modal>
 );
}
}

Sumo.PropTypes = {
modal: PropTypes.string,
toggle: PropTypes.string,
className: PropTypes.string
};

我收到的错误消息是: 道具验证中缺少 'modal'。 道具验证中缺少 'toggle'。 道具验证中缺少 'className'。

正确的语法如下。试试那个小改动。

Sumo.propTypes = {
  modal: PropTypes.string,
  toggle: PropTypes.string,
  className: PropTypes.string
};

我也遇到了同样的问题。并使用以下代码解决

Sumo.propTypes = {
   modal: PropTypes.bool,
   toggle: PropTypes.func,
   className: PropTypes.string
};

感谢@AJ Genung