Basics
Tips and tricks for common issues.
How do I make a blank React app?#
In command prompt, enter:
npx create-react-app myAppRunning this command generates a new folder called "myApp" (or whichever custom name you specify). Inside this folder you will find several pre-configured files. The primary file that you will be working with is App.js that is found in the src folder.
setState or this is not defined#
tip
Make sure that your app is written as a class rather than as a function if you are using the context and returnTo props (used by AlgoButton and AlgoSendButton). If you want to write your app as a function, used the onChange prop instead, along with a callback/handler function.
Your code in App.js should look like this (when writing a React app as a class):
import React, {Component} from 'react';
class App extends Component{ constructor(props) { super(props); this.state = { myValue: "", //your values go here
}; }
//your function and lifecycle code goes here
render(){ return ( //your jsx code goes between the <div> tags below: <div> </div> ) }}
export default App;How to trigger other actions after connecting to MyAlgo or sending a transaction#
Add the following code just above the render() call:
componentDidUpdate(_prevProps, prevState) { if (prevState.address !== this.state.address){ // note: address can be replaced with any state key //do something } }In order to avoid an inifinite loop and browser crashing, setState (or functions that setState) should only be called in componentDidUpdate in a conditional block.