3

来自 reactjs 我期待图像组件上的“alt”属性将显示文本以防图像无法加载。我在这里阅读了文档,我发现最接近的是 on error 事件。

React Native 图像组件中是否有等于 alt 的属性?如果我没有 alt 属性,用默认文本替换图像的最简单方法是什么?

4

1 回答 1

8

您可以自己制作这样的组件,它只需要非常少的代码。这是一个基本示例:

export default class AccessibleImage extends Component {

    state = {
        error : false
    };

    _onImageLoadError = (event) => {
        console.warn(event.nativeEvent.error);
        this.setState({ error : true });
    }

    render() {
        const { source, alt, style } = this.props;
        const { error } = this.state;

        if (error) {
            return (
                <Text>{alt}</Text>
            );
        }

        return (
            <Image 
                accessible
                accessibilityLabel={alt}
                source={source} 
                style={style}
                onError={this._onImageLoadError} />
        );
    }
}

alt如果加载图像时出现错误,这将显示提供的内容,并将该文本用作accessibilityLabel更接近网络行为的屏幕阅读器。

于 2019-12-31T14:32:42.743 回答