gpt4 book ai didi

javascript - 如何在按下 React-native 中的 Swipout 按钮之一时将值传递给其他屏幕?

转载 作者:行者123 更新时间:2023-11-30 19:38:06 27 4
gpt4 key购买 nike

在我的 React-native 项目中,在一个类中,我在 Swipout 中声明了按钮 -​​ Edit 和 Delete,我已将其用于呈现 Flatlist 的项目。这是我的整个 renderItem 函数的代码,其中包含 Swipout 按钮-

    renderItem = ({item}) => {
let a = this.getStatusIcon(item.category);
console.log(a);

let swipeBtns = [{
text: 'Edit',
backgroundColor: 'green',
underlayColor: 'rgba(0, 0, 0, 1, 0.6)',
onPress: () => this.props.navigation.navigate('UpdateNotes',
NOTE_ID = item.id,
),
autoClose: true
},

{
text: 'Delete',
backgroundColor: 'red',
underlayColor: 'rgba(0, 0, 0, 1, 0.6)',
onPress: () => { this.delete(item.id) },
autoClose: true
}

];

return(

<Swipeout right={swipeBtns}
backgroundColor= 'transparent'>

<TouchableOpacity style={styles.container}
onPress={() => this.props.navigation.navigate('DetailsNote', {
JSON_ListView_Clicked_Item: item.id,
})}
>


<View style={{width:'100%'}}>

<Text style={{ textAlign:'right', marginRight:10}}>{item.timestamp}</Text>

<View style={{flex:1, flexDirection:'row'}}>

<Image style={{width:50, height:50, marginLeft:10, marginBottom:5, marginTop:5, marginRight:5}}
source={{uri: a}}
/>

<View >
<Text style={{fontSize:18, fontStyle:'normal', fontWeight:'bold', color:'#2c3e50', marginBottom:5}}>
{this.getCategoryTitle(item.status)}
</Text>

<Text style={{fontSize:18, color:'#7f8c8d', marginBottom:5, width:250}}>
{item.title}
</Text>
</View>

</View>


</View>


</TouchableOpacity>

</Swipeout>

)
}

现在的问题是——我想在按下 Swipout 内的编辑按钮时传递一个值,正如您在上面的代码中看到的那样,我在点击编辑时使用了 onPress-

 onPress: () => this.props.navigation.navigate('UpdateNotes',
NOTE_ID = item.id,
)

在下一个屏幕(UpdateNotes)中传递这些值后,我在 componentDidMount 函数中使用了以下代码,如下所示-

  this.setState({
noteId:(
this.props.navigation.state.params.NOTE_ID
? this.props.navigation.state.params.NOTE_ID
: 'No Value Passed'
)
})

同时,我在第二个屏幕上打印此 NOTE_ID 值时,它始终显示默认值:No Value Passed。当我在编辑新闻的第一个屏幕上传递了一些其他值时,它不应该是默认值。所以,我不知道在按下 Swipout 或其他东西的按钮时传递值是否有错误。

如果有人能帮助找出问题所在并解决它,那就太好了。

最佳答案

试试这个。希望对你有帮助

来自

onPress: () => this.props.navigation.navigate('UpdateNotes',
NOTE_ID = item.id,
)

onPress: () => this.props.navigation.navigate('UpdateNotes',{NOTE_ID : item.id}
)

关于javascript - 如何在按下 React-native 中的 Swipout 按钮之一时将值传递给其他屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55719918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com