강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của pykoook1246
pykoook1246

câu hỏi đã được viết

Sử dụng Truffle Drizzle trong phát triển Ethereum Dapp blockchain

Thực hiện giao dịch và yêu cầu, kiểm tra chức năng

일부 소스 및 컴파일 에러 입니다.

Đã giải quyết

Viết

·

264

2

1. MyComponent.js의 render() 함수 내, 소스 일부가 안보여서 부탁드립니다.

2.MyComponent.js의 return() 함수 내,  소스 일부가 안보여서 마찬가지 부탁드립니다.

Ethereumtruffledapp

Câu trả lời 2

2

pykoook님의 프로필 이미지
pykoook
Người đặt câu hỏi

감사합니다.

2021, 새해 복  넘치시길 기원드립니다.

1

coldmind님의 프로필 이미지
coldmind
Người chia sẻ kiến thức

시간이 지난 것이라 이 소스파일이 맞는지 모르겠지만 참고하시기 바랍니다.

import React, { Component } from 'react'
import PropTypes from 'prop-types';

import {Grid, Row, Col, Panel} from 'react-bootstrap';
import {Button, ButtonGroup, ButtonToolbar} from 'react-bootstrap';
import {InputGroup, FormControl} from 'react-bootstrap';
import Glyphicon from "react-bootstrap/lib/Glyphicon";

import './css/bootstrap/css/bootstrap.min.css';
import './css/style.css';

class MyComponent extends Component {

    //legacy Context API
    constructor(props, context) {
        super(props);
        this.drizzle = context.drizzle;
        this.contracts = context.drizzle.contracts;

        this.state = {
            val: 0,
            storedData: 0,
        }
    }

    componentDidMount() {

        this.contracts.SimpleStorage.events.Change()
            .on('data', (event) => {
                this.setState({storedData: event.returnValues.newVal});
            })
            .on('error', (err) => { console.log(err) } );
    }

    handleSet = () => {
        const val = this.state.val;
        if (val && !isNaN(val)) {
            //this.contracts.SimpleStorage.methods.set.cacheSend(val);
            this.contracts.SimpleStorage.methods.set(val).send({from: this.props.accounts[0]});
        }
    }

    handleGet = async () => {
        const storedData = await this.contracts.SimpleStorage.methods.get().call();
        this.setState({storedData});
    }

    handleSayHello = () => {
        // this.props.onSayHello();
        this.drizzle.store.dispatch({type: 'SAY_HELLO', payload: 'SOMETHING'});
    }

    handleChange = (e) => {
        if (e.target.value !== "") {
            this.setState({val: e.target.value});
        }
    }

    render () {

        return (
            <Grid fluid={true}>
                <Row>
                    <Col md={5}>
                        <InputGroup style={{paddingBottom:'10px'}}>
                            <InputGroup.Addon>Value</InputGroup.Addon>
                            <FormControl type="number" placeholder="Enter number" bsSize="lg" onChange={this.handleChange} />
                        </InputGroup>
                    </Col>
                </Row>
                <Row>
                    <Col md={5} style={{textAlign: "center"}}>
                        <div className="button">
                            <ButtonToolbar>
                                <ButtonGroup justified>
                                    <Button href="#" bsStyle="primary" bsSize="large" block onClick={this.handleSet}>
                                        Set
                                    </Button>
                                    <Button href="#" bsStyle="info" bsSize="large" block onClick={this.handleGet}>
                                        Get
                                    </Button>
                                    <Button href="#" bsStyle="success" bsSize="large" block onClick={this.handleSayHello}>
                                        Hello!
                                    </Button>
                                </ButtonGroup>
                            </ButtonToolbar>
                        </div>
                    </Col>
                </Row>
                <Row style={{marginTop:'10px'}}>
                    <Col md={5}>
                        <Panel bsStyle="info">
                            <Panel.Heading>
                                <Panel.Title>
                                    <Glyphicon glyph="signal" /> Stored Data - Event
                                </Panel.Title>
                            </Panel.Heading>
                            <Panel.Body>
                                <div style={{display:"inline-block"}}>
                                    <p>{this.state.storedData}</p>
                                </div>
                            </Panel.Body>
                        </Panel>
                    </Col>
                </Row>
            </Grid>
        )
    }
}

// legacy Context API
MyComponent.contextTypes = {
    drizzle: PropTypes.object
}

export default MyComponent;
Hình ảnh hồ sơ của pykoook1246
pykoook1246

câu hỏi đã được viết

Đặt câu hỏi