@trettermert

Как правильно передать props через атрибут value в React?

всем привет, вопрос по React. через onClick передаю свойству компонента значение value={this.props.yearStat.capital}, но в функции обработчика value передает значение [object Object], а если написать typeof(event.taget.value) выдаст значение string, хотя в props хранится объект, подскажите как можно получить именно объект, а не строку?
02645a5cfe61498fa133ae6729b64fa1.PNGc4d90de8120c47ceac8cba1c2e6b0793.PNG
  • Вопрос задан
  • 1127 просмотров
Решения вопроса 1
@KnightForce
Без остального кода только догадки.

Используешь button - то есть это самый базовый уровень компонента.

Если this.showChart у тебя выглядит так:
showChart(value) {

}


То в value у тебя передастяся event объект, который представляет событие.
Если хочешь по клику что-то делать с value - должно быть как-то так:
1. вариант.
showChart(e) {
    //Не забудь ее сбиндить
    alert(this.props.yearStat.value)
}
render() {
    return(
        <button onClick={this.showChart}>Капитализация</button>
    )
}


2 вариант.
showChart(value) {
    //Не забудь ее сбиндить
    alert(this.props.yearStat.value)
}
render() {
    return(
        <button onClick={()=>{this.showChart(this.props.yearStat.value)}}>Капитализация</button>
    )
}


3 вариант.
showChart(value) {
    //Не забудь ее сбиндить
    alert(this.props.yearStat.value)
}

handlerClick(e) {
    //Не забудь сбиндить, или привязать контекст стрелочно, иначе потеряешь контекст 
    this.showChart(this.props.yearStat.value);
}

render() {
    return(
        <button onClick={this.handlerClick}>Капитализация</button>
    )
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы