Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
November 15, 2021 05:08 pm GMT

React: Use Advanced JavaScript in React Render Method

  • Welcome everyone and a great morning to you all. Today we will continue the freecodecamp lessons with this. In previous posts, we've gone over how to use JavaScript code into JSX code using curly braces, { }, for accessing props, passing props, accessing state, inserting comments into your code and as well as styling your components.
  • You can also write JavaScript directly in your render methods, before the return statement, without inserting it inside of curly braces. This is because it is not yet within the JSX code.
  • In the code that I'm about to show you is a render method which has an array that contains 20 phrases to represent the answer. The button click event is bound to the ask method, so each time the button is clicked a random number will be generated and stored as the randomIndex in state. We have to change line 52, and reassign the answer const so ou code randomly accesses a different index of the possibleAnswers array each time it updates.
  • Code:
const inputStyle = {  width: 235,  margin: 5};class MagicEightBall extends React.Component {  constructor(props) {    super(props);    this.state = {      userInput: '',      randomIndex: ''    };    this.ask = this.ask.bind(this);    this.handleChange = this.handleChange.bind(this);  }  ask() {    if (this.state.userInput) {      this.setState({        randomIndex: Math.floor(Math.random() * 20),        userInput: ''      });    }  }  handleChange(event) {    this.setState({      userInput: event.target.value    });  }  render() {    const possibleAnswers = [      'It is certain',      'It is decidedly so',      'Without a doubt',      'Yes, definitely',      'You may rely on it',      'As I see it, yes',      'Outlook good',      'Yes',      'Signs point to yes',      'Reply hazy try again',      'Ask again later',      'Better not tell you now',      'Cannot predict now',      'Concentrate and ask again',      "Don't count on it",      'My reply is no',      'My sources say no',      'Most likely',      'Outlook not so good',      'Very doubtful'    ];    const answer =  // Change this line    return (      <div>        <input          type='text'          value={this.state.userInput}          onChange={this.handleChange}          style={inputStyle}        />        <br />        <button onClick={this.ask}>Ask the Magic Eight Ball!</button>        <br />        <h3>Answer:</h3>        <p>          {/* Change code below this line */}          {/* Change code above this line */}        </p>      </div>    );  }}
  • Answer:
    const answer = possibleAnswers[this.state.randomIndex];    return (      <div>        <input          type='text'          value={this.state.userInput}          onChange={this.handleChange}          style={inputStyle}        />        <br />        <button onClick={this.ask}>Ask the Magic Eight Ball!</button>        <br />        <h3>Answer:</h3>        <p>          {answer}        </p>      </div>    );  }}

Larson, Q., 2019. Frontend Development Libraries. [online] Freecodecamp.org. Available at: https://www.freecodecamp.org/learn/front-end-development-libraries/react


Original Link: https://dev.to/rthefounding/react-use-advanced-javascript-in-react-render-method-3hn0

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To