如何使用Typescript在React中设置默认属性值?

时间:2016-08-06 07:37:28

标签: javascript reactjs typescript

使用Typescript时,如何在React组件中设置属性的默认值?

我从SE上的另一个question看到我可以将defaultProps的静态类变量声明为一个对象,其键是我的属性,但这对我来说似乎不起作用。

不知何故,静态变量defaultProps没有从任何地方调用,属性仍然没有默认值。

1 个答案:

答案 0 :(得分:-1)

以下是我在构造函数中的表现:

interface iProps {
   value?: any;
   disabled?: boolean;
}

export class MyComponent extends React.Component<iProps, {}> {
   private value: any;
   private disabled: boolean;

   constructor(props: iProps) {
      super(props);

      var value: any = "";
      if (typeof this.props.value !== "undefined") {
         value = this.props.value;
      }

      var disabled: boolean = false;
      if (this.props.disabled) {
         disabled = true;
      }
   }

   handleClick(event) {
      //Bla bla bla
   }

   render() {
      return (
         <div>
            <button onClick={this.handleClick.bind(this) } disabled={this.disabled}>
               my button
            </button>
         </div>
      );
   } //end render.

   componentDidMount() {
      //Bla bla bla
   }

   componentDidUpdate() {
      //Bla bla bla
   }
} //end class.