Here is my code:
return (
<ThemeProvider theme={props.theme}>
<section className={classes.loginForm}>
{
mode === "LOGIN"
?
<LoginForm theme={props.theme} />
<br/> <br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
:
<SignUpForm theme={props.theme} />
<br/><br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
}
</section>
</ThemeProvider>
);
The error appears at the first character of the opening tag for the breakline HTML element. I do not understand why this is happening as I have code elsewhere that uses the same principle and has no errors at all.
CodePudding user response:
These elements, inside the curly braces, need to be wrapped inside of a <React.Fragment />
(<>
and </>
for short)
https://reactjs.org/docs/fragments.html
Your code:
{
mode === "LOGIN"
?
<LoginForm theme={props.theme} />
<br/> <br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
:
<SignUpForm theme={props.theme} />
<br/><br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
}
Corrected code:
{
mode === "LOGIN"
?
<>
<LoginForm theme={props.theme} />
<br/> <br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
</>
:
<>
<SignUpForm theme={props.theme} />
<br/><br/>
<Button variant="contained" color="primary" onClick={() => setMode("SIGNUP")}>
SIGNUP?
</Button>
</>
}