Многократный звонок на одно событие - PullRequest
0 голосов
/ 26 января 2019

Я вызываю две функции для одного и того же события onChange, но вторая не исполняется this.updateValue значение ввода не меняется ----> но если мы удалим первый вызов и изменимэто ---> onChange={this.updateValue}: значение на входе изменяется, очевидно, что существует проблема при вызове двух функций одновременно

import React from 'react'

class SearchBar extends React.Component
{
    constructor(props)
    {
        super(props)
        this.state = {input_value : ''}
    }
    updateValue = (event) =>
    {
        this.setState({input_value : event.target.value})
    }

    render()
    {
        return(
            <React.Fragment>
            <input 
                type="text" 
                value={this.state.input_value} 
                onChange={() => (this.props.toChild(this.state.input_value,this.updateValue))}
            />
            </React.Fragment>
        )
    }
}
export default SearchBar

1 Ответ

0 голосов
/ 26 января 2019

Одна функция будет выполнена на onChange. Вы можете сделать следующее

// prop to input in render
onChange={this.updateValue}
// In function
updateValue = (event) =>
{
    this.props.toChild(event.target.value)
    this.setState({input_value : event.target.value})
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...