diff --git a/client/src/components/inputs.js b/client/src/components/inputs.js
index 0a5ce9e..6610d37 100644
--- a/client/src/components/inputs.js
+++ b/client/src/components/inputs.js
@@ -14,7 +14,7 @@
 
 export const UsernameInput = ({infoButtonProps, ...props}) => {
     const [isSelected, setIsSelected] = React.useState(false);
-    const [input, setInput] = React.useState();
+    const [input, setInput] = React.useState(props.defaultValue);
     const [startAdornment, setStartAdornment] = React.useState()
 
     const onChange = React.useCallback((event) => {
@@ -58,7 +58,7 @@
 export const PasswordInput = ({infoButtonProps, ...props}) => {
     const [showPassword, setShowPassword] = React.useState(false);
     const [isSelected, setIsSelected] = React.useState(false);
-    const [input, setInput] = React.useState();
+    const [input, setInput] = React.useState(props.defaultValue);
     const [startAdornment, setStartAdornment] = React.useState()
 
     const toggleShowPassword = () => {
@@ -113,7 +113,7 @@
 
 export const NickNameInput = (props) => {
     const [isSelected, setIsSelected] = React.useState(false);
-    const [input, setInput] = React.useState();
+    const [input, setInput] = React.useState(props.defaultValue);
     const [startAdornmentVisibility, setStartAdornmentVisibility] = React.useState()
 
     const onChange = React.useCallback((event) => {
@@ -143,7 +143,7 @@
 
 export const RegularInput = (props) => {
     const [isSelected, setIsSelected] = React.useState(false);
-    const [input, setInput] = React.useState();
+    const [input, setInput] = React.useState(props.defaultValue);
     const [startAdornmentVisibility, setStartAdornmentVisibility] = React.useState()
     const [endAdornmentVisibility, setEndAdornmentVisibility] = React.useState()
 
