Code Monkey home page Code Monkey logo

Comments (6)

Ehesp avatar Ehesp commented on July 20, 2024

That's because you're doing it wrong I believe. You're calling the method when the component is being rendered, not when it's clicked:

<Button
        onPress={() => this.handleSubmit }
        onLongPress={() => this.handleSubmit }
        primary='googleRed'
        theme='dark'
        raised={true}
        value='Save'
      />

from react-native-material-design.

pewh avatar pewh commented on July 20, 2024

<Button onPress={() => this.handleSubmit } ...> and <Button onPress={() => this.handleSubmit.bind(this) } ...> doesn't trigger function handleSubmit.
It should be <Button onPress={() => this.handleSubmit() } ...>. Unfortunately, it still throw warning :/

Edit:
Actual warning message is: Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the undefined component.

from react-native-material-design.

Ehesp avatar Ehesp commented on July 20, 2024

Hmm, can I see your entire component? What Android API are you running? And are you using master or 3.1?

EDIT: what happens here: this.props.onSubmit(this.state). It might be un-mounting while some set states are running.... which could also be on the button.

from react-native-material-design.

pewh avatar pewh commented on July 20, 2024

See this gist at line 91, 95, and 96 (LoginForm.js).
Tested on Android 4.1 (Genymotion) and Android 4.4 (real device). Using [email protected].

And I also had refactor this.props.onSubmit(this.state) (check my gist), but problem still occured.

from react-native-material-design.

Salakar avatar Salakar commented on July 20, 2024

@pewh can we see the code for this.props.onSubmit(usernameValue, passwordValue) - that function, also try commenting out that row and see if you still get the issue, then we know if it's that or not

from react-native-material-design.

pewh avatar pewh commented on July 20, 2024

I have figure out the problem. This is not RNMD issue, but my code.

function handleSubmit (props) {
  redirectToHomeRoute(props) // this will unmount current component
  this.setState({ foo: 'bar' }) // trigger setState warning
}

I'm just curios why there's no warning on <TouchableOpacity onPress={handleSubmit}>...</TouchableOpacity>. But at least all goes well. Thanks for the time.

from react-native-material-design.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.