if-else statement inside jsx: ReactJS

前端 未结 12 1269
广开言路
广开言路 2020-11-22 08:48

I need to change render function and run some sub render function when a specific state given,

For example:

render() {
    return (   
        

        
12条回答
  •  忘掉有多难
    2020-11-22 09:15

    You can do this. Just don't forget to put "return" before your JSX component.

    Example:

    render() {
        if(this.state.page === 'news') {
            return This is news page;
        } else {
            return This is another page;
        }
    }
    

    Example to fetch data from internet:

    import React, { Component } from 'react';
    import {
        View,
        Text
    } from 'react-native';
    
    export default class Test extends Component {
        constructor(props) {
            super(props);
    
            this.state = {
                bodyText: ''
            }
        }
    
        fetchData() {
            fetch('https://example.com').then((resp) => {
                this.setState({
                    bodyText: resp._bodyText
                });
            });
        }
    
        componentDidMount() {
            this.fetchData();
        }
    
        render() {
            return 
                {this.state.bodyText}
            
        }
    }
    

提交回复
热议问题