首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为道具传递的响应处理空值

作为道具传递的响应处理空值
EN

Stack Overflow用户
提问于 2020-02-28 17:43:37
回答 3查看 816关注 0票数 0

我试图返回'null‘道具值的占位符。我尝试运行一个三元运算符和' if‘条件语句,以检查在呈现之前是否存在值。

道具从父组件传递到子组件,而数据则通过react路由器-dom的“历史”方法推送到另一个子组件。

但是,当我运行console.log时,当我试图单击包含“null”的图像时,就会遇到当前问题。

Carousel.js

代码语言:javascript
复制
import React from 'react';
import { Carousel } from 'react-responsive-carousel';
import "react-responsive-carousel/lib/styles/carousel.min.css";
import './Carousel.css';

const ImageCarousel = props => {
    const photos = props.history.location.state.resources.photos;
    return (
        <>
            <button className="backBtn" onClick={props.history.goBack}>Click to go back</button>
            <Carousel>
                {
                    photos.map(photo => {
                        return (
                            <div>
                                <img className='image' src={photo.url} alt="rental-carousel" />
                            </div>
                        )
                    })
                }
            </Carousel>
            <div className="address-container">
                <p className="address">Address:</p>
                <p className="address-info">{' '}{props.history && props.history.location.state.address}</p>
            </div>
        </>
    )
}

export default ImageCarousel;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-28 17:49:01

在获得photos值之前,需要检查它是否为null

代码语言:javascript
复制
const photos = props.history.location.state && props.history.location.state.resources ? 
    props.history.location.state.resources.photos : 
    [];
票数 1
EN

Stack Overflow用户

发布于 2020-02-28 17:49:10

你能试试新的吗?可选链式操作符:

代码语言:javascript
复制
const photos = props?.history?.location?.state?.resources?.photos;

然后在呈现之前检查照片是否未定义。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining

票数 0
EN

Stack Overflow用户

发布于 2020-02-28 17:52:32

在分配支柱之前检查空值或未定义

代码语言:javascript
复制
if (props === null ) {
 ......
}
const photos = props?.history?.location?.state?.resources?.photos;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60456862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档