Javascript 如何处理不';我不接受道具

Javascript 如何处理不';我不接受道具,javascript,reactjs,components,Javascript,Reactjs,Components,我有一个组件,我想用作模板,它可以传递各种值。但是,如果该值不存在,组件将返回无法读取未定义的值 组件: const Component = ({ value }) => ( <div> <p>{!value ? '' : value}</p> </div> ) const组件=({value})=>( {!值?'':值} ) 然后使用不同的值呈现模板… <Component value={object1.v

我有一个组件,我想用作模板,它可以传递各种值。但是,如果该值不存在,组件将返回
无法读取未定义的值

组件:

const Component = ({ value }) => (
   <div>
      <p>{!value ? '' : value}</p>
   </div>
)
const组件=({value})=>(
{!值?'':值}

)
然后使用不同的值呈现模板…

<Component value={object1.value} />
<Component value={object2.value} /> // object2 doesn't exist, so error thrown

//object2不存在,因此引发错误

如果所接收的
道具不存在,如何让组件呈现
null
(或其他内容)?或者有更好的解决方案吗?

从您提出的问题来看,
您可以给它一个默认值,否?@DaveNewton在这种情况下您是如何做到的?所以“不存在”的意思是
object2
根本没有声明?@FabianSchultz-是的,我有。我希望我可以使用三元运算符来表示该值是否未被声明,以将该值赋给
null
或其他对象。但我想那是不可能的对吧?没问题!就我个人而言,我使用Lodash的
函数,如果您已经在使用Lodash或计划使用它,那么该函数非常棒。它只是将object作为第一个参数,然后将key path作为第二个参数
.get(object2,'value')
,如果object2未定义,它只返回undefined
<Component value={object2 ? object2.value : null} />