我不知道为什么我一直不推荐在React中访问PropTypes,即使我使用了'prop-types'包?

时间:2017-05-06 10:06:08

标签: reactjs react-proptypes

我认为我正在对此组件进行propType检查,这是传递道具的代码:

<TodoTextInput
   autoFocus={true}
   className="new-todo"
   onSave={this._handleTextInputSave}
   placeholder="What needs to be done?"
/>

和我唯一检查proptypes的组件:

import React from 'react';
import ReactDOM from 'react-dom';
import PropTypes from 'prop-types';

export default class TodoTextInput extends React.Component {
  state = {
    text: '',
  };
  _addTodo = () => { // To add remove and edit functionality 
    const trimText = this.state.text.trim();
     if (trimText !== '') { 
      this.props.onSave(trimText); 
      this.setState({text: ''}); 
    }
  };
  _handleChange = (e) => {
    this.setState({text: e.target.value});
  };
  render() {
    return (
      <form onSubmit={this._addTodo}> {
        <input type="text"
          onChange={this._handleChange}
          value={this.state.text}
          placeholder={this.props.placeholder}
        />
      </form>
    );
  }
}

TodoTextInput.propTypes = {
  onSave: PropTypes.func.isRequired,
  placeholder: PropTypes.string,
};

很明显onSave是func而占位符是一个字符串,但为什么我仍然有这个错误?我删除了PropTypes检查但仍然拥有它。为什么呢?

  

警告:不建议通过主React包访​​问PropTypes。   请改用npm中的prop-types包。

0 个答案:

没有答案