Компонент React с Redux и состоянием, сопоставленным с реквизитами через соединение response-redux, не перерисовывается при изменении состояния Redux - PullRequest
0 голосов
/ 28 марта 2020

У меня есть эти кнопки в моем приложении, на них есть метка, которая блокирует использование кнопки, если пользователь не совершил покупку в приложении для удаления меток. Используя несколько учетных записей «песочницы», я протестировал, что если пользователь совершает покупку, а затем закрывает приложение и открывает его снова, ярлыки исчезают. Тем не менее, когда пользователь впервые совершает покупку, ярлыки остаются, и только когда пользователь снова нажимает заблокированные кнопки, они исчезают (На этот раз при нажатии кнопок кнопки не выполняют свою предполагаемую функциональность, кнопки нужно нажимать снова, чтобы выполнять их предполагаемую функциональность).

Я посмотрел провайдера и функцию соединения из'act-redux ', похоже, у меня есть все, что мне нужно, основываясь на коде за последние 5 минут этого учебник но мои кнопки не обновляются при обновлении состояния магазина

class SButton extends React.Component{
    render(){
        let props = this.props
        let onPrs
        let premiumLabel
        if (props.premium && !props.purchases.length > 0 ){
            onPrs = () => askForPurchase()
            premiumLabel = <PremiumLabel />
        }else{
            onPrs = () => playSound(props.sound)
        }
        return(
            <TouchableOpacity style={styles.button} onPress={onPrs} >
                <Text style={styles.text}>{props.name}</Text>
                {premiumLabel}
            </TouchableOpacity>
        )
    }
}

const mapStateToProps = state => {
    return {
        purchases: state.purchases
    };
}

const SoundButton = connect(mapStateToProps)(SButton)

const Row = (props) => {
    return(
        <View style={styles.row}>
            {props.sounds.map(sound => <Provider store={store}><SoundButton key={sound[0]} name={sound[0]} sound={sound[1]} premium={sound[2] == "premium"}/></Provider>)}
        </View>
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...