I've got a functional component which has state with an object of a specific class:
import React from "react";import { ReactElement } from "react-native/node_modules/@types/react";import { useState } from "react";import { Text, View } from "react-native";import MyClass from "./MyClass";export default function FunCompWithState(): ReactElement { const [myClass, setMyClass] = useState<MyClass>(new MyClass()); myClass.setTitle("New Title"); console.log("typeof: " + typeof myClass); console.log("object value: " + myClass); console.log("object variable title: " + myClass.getTitle()); console.log("object variable value: " + myClass.getValue()); return (<View><Text>{myClass.getValue()}</Text></View> );}
If it's helpful, this is my class definition:
export default class MyClass { private title: string = ""; private value: number = 1; // Getters/Setters...}
When this renders, I get the following in my logs:
❌ typeof: object❌ object value: [object Object]✅ object variable title: New Title✅ object variable value: 1
But I would expect something like this:
✅ typeof: MyClass✅ object value: {"title":"New Title","value":1}✅ object variable title: New Title✅ object variable value: 1
Is there a way to have useState
respect the class of my state object?