我正在尝试将一个布尔值传递给我的组件,以便它可以根据是真还是假来生成图像,但是我不确定如何执行此操作。
代码如下:
将布尔值传递给组件:
<SomeComponent
showImage={false}
/>
尝试在组件上使用它:
const TheImage = showImage => (
<div align="center">
{showImage ? (<img src={ImageIwant} alt="The image i want" width="80%" height="80%" />) : ''}
<p>Here is the image</p>
</div>);
我是新来的反应者,我不确定为什么这不起作用。
答案 0 :(得分:3)
在showImage中添加花括号以破坏它
const TheImage = { showImage } => (
<div align="center">
{showImage ? (<img src={ImageIwant} alt="The image i want" width="80%" height="80%" />) : ''}
<p>Here is the image</p>
</div>);
答案 1 :(得分:2)
从
更改显示图像组件const TheImage = showImage => (
<div align="center">
{showImage ? (<img src="https://lcsc.academyofmine.com/wp-content/uploads/2017/06/Test-Logo.svg.png" alt="The image i want" width="80%" height="80%" />) : ''}
<p>Here is the image</p>
</div>);
到
const TheImage = prop => (
<div align="center">
{prop.showImage ? (<img src="https://lcsc.academyofmine.com/wp-content/uploads/2017/06/Test-Logo.svg.png" alt="The image i want" width="80%" height="80%" />) : ''}
<p>Here is the image</p>
</div>);
因为您的组件会将prop作为对象,所以如果您想访问传递的任何属性,则需要使用prop.yourpropertyname
答案 2 :(得分:0)
如果prop值为false时没有要呈现的组件,我将使用&&
运算符而不是内联if语句使用条件渲染。
const TheImage = { showImage } => (
<div align="center">
{showImage && <img src="https://lcsc.academyofmine.com/wp-content/uploads/2017/06/Test-Logo.svg.png" alt="The image i want" width="80%" height="80%" />}
<p>Here is the image</p>
</div>
);