What is the problem?

The issue is that you have an infinite loop somewhere in your code.

If you don't immediately see it, don't worry. Most often than not, this is happening due to incorrectly assigning an event handler to a function which updates the state, as in this example:

                
  doStuff = () => {
    this.setState({ something: true });
  }

  render() {
    return (
      <Button onPress={this.doStuff()} //error! />
    )
  }
            

In this case, this.doStuff() will be called each and every time that render() is called, which is called each time that this.setState() is called, which results in an infinite loop.

How to fix?

Correctly assign your function (and not your function's return value!) as the event handler:

                
  doStuff = () => {
    this.setState({ something: true });
  }

  render() {
    return (
      <Button onPress={this.doStuff} />
    )
  }
            

Or, if you need to send parameters to your function, use an anonymous lambda function:

                
  doStuff = () => {
    this.setState({ something: true });
  }

  render() {
    return (
      <Button onPress={(text) => this.doStuff(text)} />
    )
  }