Skip to main content

Basics

Tips and tricks for common issues.

How do I make a blank React app?

In command prompt, enter:

npx create-react-app myApp

Running 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.

Docusaurus with Keytar

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.