Я получил быстрый вопрос о вызове функции внутри метода рендеринга или о каком-либо потенциальном способе обновления метода, когда пользователь решает перейти на следующий экран, нажав «Отправить».
Моя цель -чтобы изменить старый созданный «selectedExchange» на обновленный «selectedExchange», когда пользователь нажимает стрелку «Отправить», чтобы перейти к следующему экрану.
// On Send Functionality
onSend = () => {
const { exchanges } = this.props
// Testing to see if hard coded values get sought out response
// Hard code values work
// this.props.selectExchange updates the selectedExchange
this.props.selectExchange(exchanges.exchanges[0])
this.props.navigation.navigate('selectRecipient', { transition: 'slideToLeft' })
//return ( exchange )
}
// Additional helper method, able to replace the above "this.props.selectExchange()"
// if necessary
updateExchange = (value, exchange) => {
this.props.selectExchange(exchange)
this.setState({ selectedDisplayName: value })
// Render call
render() {
const { navigation, account, exchanges } = this.props
const { selectedExchange } = exchanges
const { status, symbolPriceTicker, dayChangeTicker } = selectedExchange
const loading = status === 'pending' && !symbolPriceTicker && !dayChangeTicker
const avatar = account.profile_img_url ? { uri: account.profile_img_url } : IMAGES.AVATAR
return (
<View style={globalStyles.ROOT}>
<Loading loading={loading} />
<Image style={globalStyles.backgroundImg} source={IMAGES.BACKGROUND} />
<TopArea navigation={navigation} avatar={avatar} />
<ScrollView>
{
exchanges.exchanges.length > 0 &&
exchanges.exchanges.map(exchange => (
<View style={screenStyles.container}>
<ServiceInfo
account={account}
balances={exchange.balances}
displayName={exchange.label}
symbolPriceTicker={symbolPriceTicker}
// onRequest={this.onRequest}
onSend={this.onSend}
/>
...
...
Что я пробовал:
Передача объекта обмена через "onSend = {this.onSend (exchange)}", чтобы посмотреть, смогу ли я передать необходимый объект, который будет использоваться для обновления selectedExchange.Это не сработало, так как требовало от меня вернуть что-то из onSend.
Непосредственный вызов вспомогательного метода в JSX между различными представлениями.Также не работал, как это требовалось, я возвратил некоторую форму JSX.
Не уверен, как еще я мог бы заняться этим.Спасибо за любую помощь!