反应模态"Objects are not valid as a React child"?
React-Modal "Objects are not valid as a React child"?
看看下面的代码。
import React from 'react';
import Modal from 'react-modal';
const OptionModal = (props)=>(
<Modal
isOpen={!!props.selectedOption}
contentLabel="Selected Option"
>
<h1>Selected Option</h1>
{props.selectedOption && <p>{props.selectedOption}</p>}
</Modal>
);
export default OptionModal;
同时 selectedOption 包含随机选择的字符串。
当我使用 {props.selectedOption && <p>{props.selectedOption}</p>}
时出现错误 "Objects are not valid as a React child (found: object with keys {option}). If you meant to render a collection of children, use an array instead."。不使用这个我的代码工作正常。请帮我解决这个问题
当您使用
{props.selectedOption && <p>{props.selectedOption}</p>}
这部分返回 props.selectedOption 如果它不是 null 也不是布尔值。
所以改为
{!!props.selectedOption && <p>{props.selectedOption}</p>}
将其转换为布尔值。
完整代码:
import React from 'react';
import Modal from 'react-modal';
const OptionModal = (props)=>(
<Modal
isOpen={!!props.selectedOption}
contentLabel="Selected Option"
>
<h1>Selected Option</h1>
{!!props.selectedOption && <p>{props.selectedOption}</p>}
</Modal>
);
export default OptionModal;
看看下面的代码。
import React from 'react';
import Modal from 'react-modal';
const OptionModal = (props)=>(
<Modal
isOpen={!!props.selectedOption}
contentLabel="Selected Option"
>
<h1>Selected Option</h1>
{props.selectedOption && <p>{props.selectedOption}</p>}
</Modal>
);
export default OptionModal;
同时 selectedOption 包含随机选择的字符串。
当我使用 {props.selectedOption && <p>{props.selectedOption}</p>}
时出现错误 "Objects are not valid as a React child (found: object with keys {option}). If you meant to render a collection of children, use an array instead."。不使用这个我的代码工作正常。请帮我解决这个问题
当您使用
{props.selectedOption && <p>{props.selectedOption}</p>}
这部分返回 props.selectedOption 如果它不是 null 也不是布尔值。 所以改为
{!!props.selectedOption && <p>{props.selectedOption}</p>}
将其转换为布尔值。
完整代码:
import React from 'react';
import Modal from 'react-modal';
const OptionModal = (props)=>(
<Modal
isOpen={!!props.selectedOption}
contentLabel="Selected Option"
>
<h1>Selected Option</h1>
{!!props.selectedOption && <p>{props.selectedOption}</p>}
</Modal>
);
export default OptionModal;