Giter VIP home page Giter VIP logo

Comments (9)

marcusdarmstrong avatar marcusdarmstrong commented on May 19, 2024

That warning is in how you're using TextField, not the generated proptypes.

from babel-plugin-flow-react-proptypes.

rosskevin avatar rosskevin commented on May 19, 2024

hmmm, here's a gist (I'm working on an integration with react-formal): https://gist.github.com/rosskevin/e166b1a174f961ac61a091930dfcefa7

Do you spot the misuse?

from babel-plugin-flow-react-proptypes.

rosskevin avatar rosskevin commented on May 19, 2024

maybe related: reduxjs/react-redux#6

es7 use?

from babel-plugin-flow-react-proptypes.

marcusdarmstrong avatar marcusdarmstrong commented on May 19, 2024

You're not specifying an onChange or onBlur here: https://gist.github.com/rosskevin/e166b1a174f961ac61a091930dfcefa7#file-signin-js-L71

from babel-plugin-flow-react-proptypes.

rosskevin avatar rosskevin commented on May 19, 2024

That's a react-formal Field. I register my TexField as a handler for password, and Field passes those props to TexField.

Effectively:

<Field>
  <TextField {...this.props} onChange={x} onBlur={x} />
</Field>

from babel-plugin-flow-react-proptypes.

marcusdarmstrong avatar marcusdarmstrong commented on May 19, 2024

Right. But you never pass those props to Form.Field. So it never passes them to TextField.

There's nothing in here: https://github.com/jquense/react-formal/blob/master/src/Field.jsx that's going to pass an onBlur or onChange handler to your TextField without it having been passed to the Form.Field.

from babel-plugin-flow-react-proptypes.

rosskevin avatar rosskevin commented on May 19, 2024

Maybe I'm not describing it well. I don't want to/intend to pass these handlers...ever. react-formal Form.Field dynamically connects the Form's handlers (onChange && onBlur) and passes them and other information to my TextField. My client code (Signin) needs no knowledge of these handlers.

I know with certainty that TextField is receiving these handlers and they are not null.

Here (my TextField is Widget) is instantiated by Form.Field: https://github.com/jquense/react-formal/blob/master/src/Field.jsx#L426

I don't spot onBlur specified as a required propType in react-formal Field. Is this the source of the Warning? That we have a broken chain of requires? Meaning I am receiving them, but the propTypes don't guarantee it based on them being missing in react-formal Field?

from babel-plugin-flow-react-proptypes.

marcusdarmstrong avatar marcusdarmstrong commented on May 19, 2024

Ah, didn't realize it was context aware to the Form. But even so, your Form doesn't have an onBlur, so I don't know what your password field would be receiving for that prop.

And no, propTypes are runtime checks. There's nothing static about them/no guarantees of any kind, so if you're getting a warning from them (as you are here), the warning is indicating a specific example of a runtime type check (in this case, your onBlur prop not being provided) failing.

from babel-plugin-flow-react-proptypes.

rosskevin avatar rosskevin commented on May 19, 2024

Ok, thanks much for the look, helps my understanding. I'll figure out where/when/why it is missing, certainly if the check is implemented, it's a good warning!

from babel-plugin-flow-react-proptypes.

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.