PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, October 13, 2022

[FIXED] How to use if condition inside an object in react

 October 13, 2022     axios, json, object, reactjs     No comments   

Issue

I'm trying to pass some data as payload to the api and I'm struggling to put condition inside of the object. I have an object called payload and I want to pass it in the api by checking the value of the state called profession.

const payload ={
  name: registerData.fullname,
  password: registerData.password,
  confirm_password: registerData.confirmPassword,
  email: registerData.email,
  additional_info: {
    profession == "Student" ? (
    universityname: values.universityname,
    course: values.course,
    start_year: values.start_year,
    end_year: values.end_year, ) : 
   (professorUniversity: values.professorUniversity,
    department: values.department,
    organizationName: values.organizationName,
    organizationLocation: values.organizationLocation,
    investorCompany: values.investorCompany,
    investorCompanyWebsite: values.investorCompanyWebsite,
    companyName: values.companyName,
    govtSector: values.govtSector,
    govtDesignation: values.govtDesignation,
    )
  }, 
};
  // I'm passing the payload in the api.
 api.post("some-url/register", payload);

as you can see in the top I want to pass the entire key and value if the condition is true. If the profession is not student I don't even pass the universityname key.


Solution

You should use a combination of ternary and spread operator

 const payload ={
  name: registerData.fullname,
  password: registerData.password,
  confirm_password: registerData.confirmPassword,
  email: registerData.email,
  additional_info: {
    ...(profession == "Student" ? {
    universityname: values.universityname,
    course: values.course,
    start_year: values.start_year,
    end_year: values.end_year, } : 
    {professorUniversity: values.professorUniversity,
    department: values.department,
    organizationName: values.organizationName,
    organizationLocation: values.organizationLocation,
    investorCompany: values.investorCompany,
    investorCompanyWebsite: values.investorCompanyWebsite,
    companyName: values.companyName,
    govtSector: values.govtSector,
    govtDesignation: values.govtDesignation,
    })
  }, 
};

I have explained something similar here

An example:

let car = "BMW";

const result = {

  ...(car === "BMW" ? {
    make: "Germany"
  } : {
    make: "other"
  })

};

console.log(result);



Answered By - kiranvj
Answer Checked By - Marilyn (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing