从组件onSubmit / onClick调用操作功能无法正常工作

时间:2019-04-11 08:03:07

标签: react-redux ipfs orbitdb

场景是,当我从构造函数或componentDidMount调用动作函数时,它会完美运行。

1:

 class AddOrder extends Component {
  constructor(props){
      super(props);
  const data={
    currency: 'btc',
    price: '1',
    quantity: '2',
  }
       this.props.adder(data);
}}

2:

 class AddOrder extends Component {
  constructor(props){
      super(props);
  const data={
    currency: 'btc',
    price: '1',
    quantity: '2',
  }
    componentDidMount(){
    this.props.adder(data);
    }
}}

此加法器为:

import ipfs from '../../helper/ipfsConnection';
export const adder = (data) => async => {
     for (let currency of data.keys()) {
        console.log(data.get(currency))
}
ipfs.on('ready', () => {  
    console.log("inside ipfs");
});
}

在1和2调用中,它都可以通过合并数据并输入ipfs来完美地工作。 但是,当我通过onSubmit / onClick调用此动作函数时:

 handleSubmit =(event) => {
    event.preventDefault();
    const data = new FormData(event.target);
    this.props.adder(data);
 }

使用html:

<form onSubmit={this.handleSubmit.bind(this)}>
    <label htmlFor="currency">Enter currency</label>
    <input id="currency" name="currency" type="text" />

    <label htmlFor="price">Enter your price</label>
    <input id="price" name="price" type="number" />

    <label htmlFor="quantity">Enter your quantity</label>
    <input id="quantity" name="quantity" type="number" />

    <button>Send data!</button>
  </form>

以这种方式调用this.props.adder(data)不能正常工作。

import ipfs from '../../helper/ipfsConnection';
export const adder = (data) => async => {
     for (let currency of data.keys()) {
        console.log(data.get(currency))
}
ipfs.on('ready', () => {  
    console.log("inside ipfs");
});
}

它进入此函数并控制传递的参数,但不进入ipfs内部。为什么它没有进入ipfs对象? 我没有得到要点,为什么它没有发生。

0 个答案:

没有答案