У меня есть эта проблема, и я не могу понять, что мне не хватает? По ошибке он говорит мне проверить рендеринг входа. Это рендер входа:
<Box>
{login ? (
<Profile email = {email} loggedOut = {callBack} />
) : signUp ? (
<SignUp cb = {signUpSuccess} />
) : (
[
<Box>
<Title>Employee entry</Title>
<Pbox>
<Labal>Email</Labal>
<InputCap
type = "email"
name = "email"
placeholder = "Your email address here..."
value = {email}
onChange = {(e) => setEmail(e.target.value)}
/>
</Pbox>
<Pbox>
<Labal>Password</Labal>
<InputCap
type = "password"
name = "password"
placeholder = "Your password here...."
value = {password}
onChange = {(e) => setPassword(e.target.value)}
/>
</Pbox>
<Btn onClick = {loginUser}>Login</Btn>
<br />
{signUp ? <SignUp /> : <Btn onClick = {signUpUser}>SignUp</Btn>}
</Box>
]
)}
</Box>
я работаю с реактивным хуком и стилизованным компонентом! Спасибо!
Вам не нужен массив для группировки одного компонента <Box>...</Box>
:
<Box>
{login ? (
<Profile email = {email} loggedOut = {callBack} />
) : signUp ? (
<SignUp cb = {signUpSuccess} />
) : (
<Box>...</Box>
)}
</Box>
Но если вы все еще собираетесь рендерить внутри массива, вы должны назначить свойство key
для каждого визуализируемого компонента, в данном случае только для компонента Box
:
<Box>
{login ? (
<Profile email = {email} loggedOut = {callBack} />
) : signUp ? (
<SignUp cb = {signUpSuccess} />
) : (
[<Box key = "someKey">...</Box>]
)}
</Box>
В качестве примечания: когда вы хотите сгруппировать компоненты (вместо использования массива [<Comp1/>,<Comp2/>,...]
, вы должны использовать React.Framgent.
Я думаю, что есть проблема с использованием квадратных скобок вокруг он распознан как массив, вы пытались добавить свойство ключа, и ошибка исчезла? или постарайтесь не использовать эти квадратные скобки [] вокруг поля.
Нет необходимости отображать это как
array
. Уберите скобки[]
или добавьте опоруkey
кBox
. Вот так<Box key='foo'>