Tengo dos useStates, que almacena los valores tomados del usuario.
const [classname, setClassname] = useState(''); const [name, setName] = useState('');Del mismo modo, tengo una cadena que debe pasarse como cuerpo para la solicitud de publicación de la API Rest.
const string = '{ \ "class": "Device", \ "name": "some name", \ "instanceNumber": 0, \ "properties": [ \ \ ] \ }';Tengo que pasar el nombre de la clase en lugar del dispositivo y el nombre en lugar de algún nombre en la cadena. ¿Cómo puedo cambiar la cadena de acuerdo con los valores de useState?
Puede usar la interpolación de cadenas para esto, es un proceso de incrustar una expresión en parte de una cadena:
const string = `{ \ "class":"${classname}", \ "name": "${name}", \ "instanceNumber": 0, \ "properties": [ \ \ ] \ }`;Aquí hay una referencia para obtener más información https://dmitripavlutin.com/string-interpolation-in-javascript/
Puedes hacerlo con la concatenación de cadenas:
const string = `{ \"class": ${classname}, \"name": ${name}, \"instanceNumber": 0, \"properties": [ \ \] \ }`;const string = `{ \ "class": ${classname}, \ "name": ${name}, \ "instanceNumber": 0, \ "properties": [ \ \ ] \ }`;Pero si lo envía a una API como una solicitud posterior, le recomendaría enviarlo como un objeto, ya que sería más fácil acceder a los valores en el backend. Como objeto:
const string = { class: classname, name: name, instanceNumber: 0, properties: []};