ReactJs: передача пропеллера и использование его на карте () - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь взять введенный пользователем код и сравнить его с кодом в моей базе данных. Прямо сейчас я могу принести код и отобразить его вне функции карты, но когда я пытаюсь добавить его, он не работает. вот моя база данных:

 [
    {
        "dwelling_code": "ABC-XYZ",
        "dwelling_name": "Neves Abode",
        "has_superAdmin": true,
        "room": []
    }

Это родительский компонент:

    class Dwel2 extends Component {
    state = {
        house: [],
        selectedMovie: null,
        data: "ABC-XYZ"

    }
componentDidMount() {
    fetch('Removed for question', {
        method: 'GET',
        headers: {

        }
    }).then(resp => resp.json())
        .then(resp => this.setState({ house: resp }))
        .catch(error => console.log(error))
}

houseClicked = h => {
    console.log(h)
}

render() {
    return <div>
        <EnterCode dataFromParent={this.state.data}
            house={this.state.house}
            houseClicked={this.house} />
    </div>
}
}

Это дочерний компонент:

    function EnterCode(props) {

    return (

        <div>

            <div>
                *THIS BIT DISPLAYS THE CODE*{props.dataFromParent}
            </div>
            {props.house.map(house => {


                var test = house.dwelling_name
                var code = house.dwelling_code
                if (code === {props.dataFromParent}) {
                    test = "Test"
                }
                return (

                    <React.Fragment>
                        <div>{test}</div>
                    </React.Fragment>

                )
            })}

        </div>
    )

}

Я просто хочу сравнить код в базе данных к коду, определенному в родительском компоненте. Вот ошибка, которая появляется в дочернем компоненте.

  Line 17:31:  'dataFromParent' is not defined  no-undef

1 Ответ

0 голосов
/ 10 апреля 2020

Вы допустили небольшую ошибку в выражении if. Вы помещаете props.dataFromParent в скобки, что в контексте JSX потребуется, но в контексте JS означает создание объекта, что явно неправильно.

if (code === props.dataFromParent) {
    test = "Test"
}

Надеюсь, это поможет: )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...