Возвращая массив из контракта на солидность, чтобы реагировать на внешний интерфейс, дает только первый и последний элемент массива - PullRequest
0 голосов
/ 08 февраля 2019

Я попытался вызвать функцию в реакции от контракта на солидность и зарегистрировал результат (возвращая массив или отображение в солидности) в консоли.

import React, {Component} from "react";

class Select extends Component {

    constructor(props) {
        super(props);
        this.state = this.props.data;
    }

    getSuppliers = async (event) => {
        const { accounts, contract, productId } = this.state;
        await contract.methods.getSuppliersOfProduct(productId).call({ from: accounts[0] }, (err,result) => {
            if(err){
                console.log("Error at product: ", err);
            }
            else {
                console.log("Result: ", result);
            }
        });
    }

    changeHandler = (event) => {
        const { name, value } = event.target;
        this.setState({ [name]: value });
    };

    render() {
        return(
            <div className="App">
                <input 
                    name="productId" 
                    value={this.state.productId}  
                    onChange={this.changeHandler}
                    placeholder="Product ID"
                />
                <button onClick={this.getSuppliers}>Get Suppliers</button>
                <br />
                <h1>{this.state.productId}</h1>
            </div>
        );
    }

}

export default Select;

Я ожидал вернуть «результат» из «getSuppliers» () "функционирует как массив из 4 адресов, но возвращает только массив из 2, то есть первый и последний элемент возвращаемого массива.

...