在react中调用默认的prop函数

时间:2018-09-08 10:13:46

标签: javascript reactjs

我有一个带有默认道具的react组件

Component.defaultProps = {
  waitForResolve: defaultFunction
}

defaultFunction接受event作为参数,并返回拖动到浏览器中的对象数组。在那之后的某个时刻,组件具有一个Promise,它会等待此函数解析并继续进行其他操作。

虽然此代码有效(我导入了importedFunction),但我不知道如何使它适用于默认功能,所以我得到了相同的结果,但没有提供除默认功能以外的任何其他功能。

import {importedFunction} from 'some-package'

<Component
   waitForResolve={evt =>
     importedFunction(evt).then(files => files.map(({ file, ...rest }) => file))
   }
>
   <p>Try dropping a folder here.</p>
</Component> 

我需要类似上面的代码,但需要将importedFunction换成defaultFunction

感谢帮助!

1 个答案:

答案 0 :(得分:1)

如何?

import React from 'react';
import { importedFunction } from 'some-package';

const defaultFunction = evt => importedFunction(evt).then(files => files.map(({ file, ...rest }) => file));

export default class Component extends React.Component {
  static defaultProps = {
    waitForResolve: defaultFunction
  }

  render() {
    return <input onChange={this.props.waitForResolve} type="file" />;
  }
}

简单用法:

<Component />