Сценарий состоит в том, что когда я вызываю функцию действия из конструктора или 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?Я не понимаю, почему этого не происходит.