inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

블록체인 이더리움 Dapp 개발에 트러플 드리즐 활용하기

트랜잭션 실행과 조회, 기능 테스트

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

해결된 질문

268

pykoook

작성한 질문수 13

2

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

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

Ethereum truffle dapp

답변 2

2

pykoook

감사합니다.

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

1

coldmind

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

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;

강의자료 요청드립니다.

0

47

1

3-3 트랜잭션이란 무엇인가 강의자료는 없나요?

0

86

2

ova 구글 드라이브 404

0

45

1

강의 자료 요청 및 오류 질문

0

104

2

LAYER2

0

92

1

질문이요

0

84

1

Web3.js1

0

125

2

질문이요

0

91

1

컴파일 및 배포

0

175

1

컴파일 및 배포

0

190

4

rinkeby testnet 사용

0

134

1

[긴급] 전체 소스코드 파일 있었던거 같은데 어디서 받나요?

0

239

2

블록체인 강의

0

174

2

강의내용 질문입니다 메타마스크

0

277

1

localhost 전환이 안됩니다.

0

166

1

민팅한 nft의 판매 등록이 되지 않아요.

0

246

1

metadata를 읽어오지 못해요 ㅠ

0

247

1

React Native 설치 전 단계가 무엇일까요?

0

489

1

시뮬레이터 기종이나 설정은 어떻게 진행해야할까요?

0

381

1

Intel x86 Emulator Accelerator (HAXM installer) 설치가 불가능합니다.

0

782

1

리팩토링 1 강의 getAnimalTokens() 함수 사용 권한 문의

0

261

1

MyNewComponent.js의 return()문 내의 소스가 안보여서 부탁을 드립니다.

0

191

1

MyNewComponent.js의 return( )문 내의 일부 소스가 안보여서 부탁을 드립니다.

2

213

3

본 강좌 블록체인 이더리움 Dapp 개발에 트러플 드리즐 활용하기 의 소스를 다운 받을 수 있는지요?

0

254

1