5. Tổng quan về mã Frontend

  1. src/index.js - Điểm mở đầu ứng dụng của chúng tôi

  2. static/index.html - index.html

  3. src/routes.js: Chứa định nghĩa định tuyến

  4. src/App.js - Thành phần gốc trong ứng dụng của chúng tôi

  5. src/klaytn/caver.js - Tạo kết nối với nút Klaytn

1) src/index.js:

import ReactDOM from 'react-dom'

import App from './App'
import renderRoutes from './routes'

import './index.scss'

// Render App(thành phần gốc).
ReactDOM.render(
  renderRoutes(App),
  document.getElementById('root')
)

// thay hot module.
if (module.hot) {
  module.hot.accept('./App.js', () => {
    const NextApp = require('./App').default
    ReactDOM.render(renderRoutes(NextApp), document.getElementById('root'))
    console.log('Đã thay hot module..')
  })
}

'index.js' là tập tin javascript chính cho ứng dụng hướng dẫn của chúng tôi. Đây là điểm khởi đầu cho ứng dụng của chúng tôi.

Nó sử dụng thư viện 'react-dom' để render một thành phần React vào DOM trong container('#root') được cấp và trả về tham chiếu đến thành phần đó. Tóm lại, qua 'react-dom' DOM ứng dụng hướng dẫn của chúng tôi sẽ được gán thành <div id="root"></div> trong file public/index.html.

2) static/index.html:

index.html là tập tin HTML để render ra ứng dụng hướng dẫn của chúng tôi.

Để biết thêm thông tin, hãy truy cập trang web React chính thức https://reactjs.org/docs/react-dom.html#render

3) src/routes.js:

'routes.js' chứa định nghĩa định tuyến cho ứng dụng hướng dẫn của chúng tôi. Vì là thành phần gốc, thành phần 'App.js' render ra các thành phần con được định nghĩa trong tập tin 'route.js'. Bằng mã lệnh trên, thành phần 'Count' sẽ được render thành con của rootComponent khi đường dẫn URL của trình duyệt là "/".

Để biết thêm thông tin, truy cập thư viện github React router https://github.com/ReactTraining/react-router/blob/v3.2.1/docs/API.md

4) src/App.js:

'App.js' là thành phần gốc của ứng dụng hướng dẫn của chúng tôi.

Nó render BlockNumber, Auth và thành phần {this.props.children}. {this.props.children} sẽ được gán theo tập tin routes.js. Nếu đường dẫn url của trình duyệt là /, nó sẽ render thành phần <Count />.

componentWillMount kiểm tra xem có phiên walletInstance trong sessionStorage của trình duyệt không. phiên walletInstance có thể không tồn tại nếu bạn chưa đăng nhập vào ứng dụng hướng dẫn của chúng tôi lần nào. Nếu không, phiên walletInstance sẽ có trong chuỗi JSON string, nếu có, nó sẽ thêm một phiên bản ví vào ví của caver. Bạn có thể thêm một phiên bản ví vào caver bằng cav.klay.tài khoảns.wallet.add(JSON.parse(walletFromSession)). Để biết thêm thông tin về caver.klay.tài khoảns.wallet.add, hãy xem [caver.klay.tài khoảns.wallet.add](../../../sdk/caver-js/v1.4.1/api-references/caver.klay.tài khoảns.md#wallet-add)

cf) Cần có JSON.parse vì phiên walletInstance được lưu trữ là chuỗi JSON.

5) src/klaytn/caver.js:

Thư viện caver-js tạo kết nối với nút Klaytn. Sau khi tạo kết nối, bạn có thể lấy được số khối hiện tại nhờ nút và gọi các phương pháp hợp đồng.

Bạn có thể kết nối với nút dành riêng cho Klaytn bằng cách chỉ định nó trong 'rpcURL'.

  • Nếu bạn đang chạy node đầy đủ Klaytn, bạn có thể đặt rpcURL thành URL nút của mình.

    ví dụ, rpcURL: 'http://localhost:8551'

Last updated