Превышена максимальная глубина обновления. Реагировать-Native - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь передать значения из одного компонента в другой.Это мой родительский компонент.

<View>
   { this.state.errors ? <ErrorNotice content={this.state.content} /> : null}
</View>

А это мой дочерний компонент

constructor(props){
        super(props);
        this.state = {
            errorMessage : "",
            visibility: false
        }
    }

    closeErrorNotice = ()=>{
        this.setState({
            visibility : false
        })
    }

    render(){
        return (
            <View style={styles.errorContainer}>
                <Text style={styles.errorText}>
                    {this.props.content.errorMessage}
                </Text>
                <Icon
                    name="x"
                    color="#454749"
                    size={25}
                    style={styles.closeButton}
                    onPress= {this.closeErrorNotice()}/>
            </View>
        )
    }

Но я получаю Максимальную глубину обновления, превышенную.Я не могу найти ошибку.Может кто-нибудь найти ошибку.

1 Ответ

0 голосов
/ 21 июня 2019

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

onPress= {this.closeErrorNotice}

...