将数据传递到模态

passing data into a modal

我正在尝试将一些数据从容器传递到模态,我已经做到了。它得到错误 undefined is not an object evaluating (evaluating _this.props.status) 有什么我做 worng 吗?我应该在 props 中调用什么

这些是我的代码

container.js

buildPanel(index, item) {
        let panel = [];
        let keys = DBkeys['Requests'].MyRequest;
        
            let status = item[keys['status']];
        panel.push(<View style={{ position: 'absolute', right: 0, bottom: 0, padding: normalize(5), alignItems: 'center' }} key={'status'}>
          <TouchableOpacity onPress={this.handleShowModal()}>
            <Icon name={img.itemStatus[status].name} type={img.itemStatus[status].type} color={img.itemStatus[status].color} size={normalize(38)} />
          </TouchableOpacity>
        </View>);

        return panel;
        }

 <View style={[styles.panelContainer, status === 'success' ? {} : { backgroundColor: color.white }]}>
              <FlatList
                showsVerticalScrollIndicator={false}
                progressViewOffset={-10}
                refreshing={this.state.refreshing}
                onRefresh={this.onRefresh.bind(this)}
                onMomentumScrollEnd={(event) => event.nativeEvent.contentOffset.y === 0 ? this.onRefresh() : null}
                data={content}
                renderItem={({ item }) => item}
                keyExtractor={(item, key) => key.toString()}
                 />
            </View>
            <IconModal visible={this.state.modalVisible} close={this.handleDismissModal} status='test' desc='test' />
        

IconModal.js

const IconModal = (props) => {

    return(
        <Modal 
            isVisible={props.visible}
            onBackdropPress={props.close}
        >
            <View style={styles.dialogBox}> 
                <View style={styles.icon}>
                    <Icon></Icon>
                </View>

                <View style={styles.text}>
                    <Text style={styles.status}>{this.props.status}</Text>
                    <Text>{this.props.desc}</Text>
                </View>
                    <TouchableOpacity onPress={props.close}>
                        <View>
                            <Text style={styles.buttonText}>GOT IT</Text>
                        </View>
                    </TouchableOpacity>
            </View>
            
        </Modal>
    )
}

IconModal.propTypes ={
    visible: PropTypes.bool.isRequired,
    close: PropTypes.func,
}

将字符串传递给组件时使用双引号。像 status="test" desc="test" 而不是 status='test' desc='test' 。而不是 this.props.status 使用 props.status。与 this.props.desc

相同

删除 this 关键字。应该只是 props.statusprops.desc