0
const [firstName, setFirstName] = useState(null)

useEffect(() => {
    if (props.profile && props.profile.profile) {
        setFirstName(props.profile.first_name)
    }
})


return (
    <div>
        <CustomTextField
                    className={classes.InputField}
                    variant="outlined"
                    name="firstname"
                    type="text"
                    fullWidth
                    placeholder=""
                    onChange={e => setFirstName(e.target.value)}
                    value={firstName}
                />
    </div>
)

Here i am using react hooks state

Here, I am trying to change the default value which coming from api. But, I am not able to change on onChange method .

Please take a look how can i handle this .

Or any other way to handle this problem

Thanks

1 Answers1

0

You don't need to use onChange or useEffect for setting the default value, just set the value with the props given in your CustomTextField and useState:

import { Input } from "@material-ui/core";
import "./styles.css";
import * as React from "react";

export function CustomTextField(props) {
  const [firstName, setFirstName] = React.useState(props.firstName);
  return (
    <Input
      onChange={(e) => {
        setFirstName(e.target.value);
      }}
      variant="outlined"
      name="firstname"
      type="text"
      value={firstName}
    />
  );
}

export default function App() {
  return <CustomTextField firstName="Kiran" />;
}

Edit pedantic-goldberg-2r1sx

Majid M.
  • 4,467
  • 1
  • 11
  • 29