有谁能告诉我在ReactJs中开发单独的未定义组件的正确方法吗

有谁能告诉我在ReactJs中开发单独的未定义组件的正确方法吗,reactjs,react-native,react-redux,react-router,Reactjs,React Native,React Redux,React Router,ReactJs 我试图创建单独的可重用的未定义组件来处理未定义的属性,但最初它带有未定义的所以传递的子项,抛出“无法读取属性错误” 这是组件 最终目标=仅当传递的属性未定义时如何显示子级 <CanUndefined property={schedules.review} message="Yet you dont have any reviews"> <span>{schedules.review.message}</span> </Ca

ReactJs

我试图创建单独的可重用的未定义组件来处理未定义的属性,但最初它带有未定义的所以传递的子项,抛出“无法读取属性错误” 这是组件

最终目标=仅当传递的属性未定义时如何显示子级

 <CanUndefined property={schedules.review} message="Yet you dont have any reviews">
      <span>{schedules.review.message}</span>
 </CanUndefined>

{schedules.review.message}
下面的组件是父组件

const CanUndefined = props => props.property ? 
                             (props.children) : 
                             (<span>
                                 {props.message}
                              </span>)
const CanUndefined=props=>props.property?
(小道具):
(
{props.message}
)

提前感谢

您可以将您的组件包装在条件周围

e、 g

如果消息的长度大于,则要显示div标记


const {message} = source of your property;
if(message){
   <span>{message}</span>
}

or even short format

{message && (
   <span>{message}</span>
)}


const{message}=您的财产来源;
如果(信息){
{message}
}
甚至是简短的格式
{消息&&(
{message}
)}

您需要明确测试该值。试试这个:

const CanUndefined = props => {
    if(props.property === undefined){ 
        return props.children
    }
    return <span>
        {props.message}
    </span>
const CanUndefined=props=>{
如果(props.property==未定义){
返回道具
}
返回
{props.message}

thnak you for the quick reply…我需要根据deffrent situation写入数据,因此我希望每次都将其作为子对象传递…我已经按照上面所示的方式进行了操作…我的if属性仅呈现子对象,否则不会在这种情况下将其呈现为可用组件中的子对象