Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
TS2345: Argument of type is not assignable to parameter

I have this value declaration:

const [value, setValue] = useState<PaymentOption | null>(null);

And within a component, I have this OnChange function, which calls setValue:

    onChange={(event, newValue, reason) => {
      setValue(newValue);
      const { onChange } = props;
      if (onChange) onChange(event, newValue, reason);
    }}

But I keep getting this error (when hovering over the setValue call and during building):

TS2345: Argument of type 'string | PaymentOption | (string | PaymentOption)[] | null' is not assignable to parameter of type 'SetStateAction<PaymentOption | null>'.   Type 'string' is not assignable to type 'SetStateAction<PaymentOption | null>'.

I've tried setting the type on the newValue, i.e.,

onChange={(event, newValue: PaymentOption | null, reason) => {

But then I get this error:

  Type 'string | PaymentOption | (string | PaymentOption)[] | null' is not assignable to type 'PaymentOption | null'.

And if I try changing the setValue to this:

const [value, setValue] = useState<string | PaymentOption | (string | PaymentOption)[] | null>(null);

And the onChange to match:

onChange={(event, newValue: string | PaymentOption | (string | PaymentOption)[] | null, reason) => {

Then the errors go away here, but then all my value.vars say:

TS2339: Property 'label' does not exist on type 'string | PaymentOption | (string | PaymentOption)[]'.   Property 'label' does not exist on type 'string'.

Anyone have any clue what's going on? Even any hints?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!