javascript-React-将函数传递给具有默认道具的组件

我有一个使用默认道具的React组件:

class MyComponent extends Component {
  constructor(props) {
    console.log('props', props);
    super(props);

// rest of code here

}

MyComponent .defaultProps = {
  __TYPE: 'MyDateRange',
};

当我使用该组件时,没有传递任何道具,道具的控制台日志会显示默认道具,就像应该的那样.

现在,当我想传递一个额外的道具(在这种情况下为函数)时,如下所示:

<MyComponent onEnterKey={() => console.log('snuh')}/>

道具的控制台日志仅显示onEnterKey函数.

我该怎么做才能允许MyComponent使用默认道具并接受函数?我尝试向MyComponent的构造函数添加另一个参数,但这不起作用.

解决方法:

我试过了,这正在工作:

import React from "react";
import { render } from "react-dom";

class MyComponent extends React.Component {
  constructor(props) {
    console.log("props", props);
    super(props);
  }

  render() {
    return null;
  }
}

MyComponent.defaultProps = {
  __TYPE: "MyDateRange"
};

render(
  <MyComponent onEnterKey={() => console.log("snuh")} />,
  document.getElementById("app")
);

您可以在这里看到它:https://codesandbox.io/s/wkw0k0j5o8

上一篇:javascript-反应本机按钮样式不起作用


下一篇:javascript-带有状态的React-Native更改源