Je reçois le message d'erreur:

Ligne 4 : 2 : attend une affectation ou un appel de fonction et a vu une expression à la place

Je pense avoir écrit ce composant de classe de la même manière que je les ai écrits dans le passé ? Je ne sais pas ce que j'ai fait de mal. Toute aide serait appréciée.

import React, { Component } from 'react'
import Person from './Components/Person'

class App extends Component {
    state = {
        people: [
            {name: 'David', age: '30'},
            {name: 'Michael', age: '27'},
            {name: 'John' , age: '33'}
        ],
        bool: true
    }

    clickHandler = () => {
        const currentBool = this.state.bool
        this.setState({
            bool: !currentBool
        })
    }

    render () {
        let renderDiv = null
        if (this.state.bool) {
            renderDiv = (
                <div>
                    {this.state.people.map(person => {
                        return <Person name={person.name} age={person.age} />
                    })}
                </div>
            )
        }

        return (
            <div>
                <button onClick={this.clickHandler}>show/hide</button>
                {renderDiv}
            </div>
        )
    }
}

export default App
1
David Martin 17 oct. 2020 à 19:54

1 réponse

Meilleure réponse

Je pense que ton code a l'air bien. Vous verriez cette erreur de linting si vous n'aviez pas de return dans la déclaration return <Person name={person.name} age={person.age} /> mais puisque vous l'avez déjà, cela devrait être bon.

enter image description here

Mais en regardant le numéro de ligne que vous avez fourni, il ne semble pas que cette erreur de charpie provienne de ce fichier. Cela pourrait-il venir de votre composant Person ? Vous n'avez pas fourni le code pour cela, donc juste une hypothèse.

1
ultimoTG 17 oct. 2020 à 17:57