react-values icon indicating copy to clipboard operation
react-values copied to clipboard

ignore invalid arguments to `increment/decrement/etc.`

Open ianstormtaylor opened this issue 7 years ago • 2 comments

Right now, the convenience transforms are "smart" in that if you do:

<NumberValue>
  {({ increment }) => (
    <button onClick={increment} />
  )}
</NumberValue>

It will fail because it's actually being called as increment(event). Instead you have to write it as:

<NumberValue>
  {({ increment }) => (
    <button onClick={() => increment()} />
  )}
</NumberValue>

But this is such a common use case that it might be nice to either ignore Event objects specifically, or just ignore anything that isn't a "valid" value.

It's also easy to forget this, because onClick={toggle} or onClick={clear} works since they don't care about the event argument in the first place.

ianstormtaylor avatar Jul 10 '18 21:07 ianstormtaylor

We should not ignore the explicit conventions and signature of onClick.

Also... I think this is a good case for TypeScript / Flow definitions!

lxe avatar Jul 11 '18 22:07 lxe

@lxe can you explain? I'm not sure I understand what you mean. Thanks!

ianstormtaylor avatar Jul 11 '18 23:07 ianstormtaylor