как решить Asyncstorage multiset не храня никаких данных? - PullRequest
1 голос
/ 25 апреля 2019

доброго дня всем,

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

это действие, которое работает:

export const saveChosenCompany = (username, company) => dispatch => {
    AsyncStorage.multiSet([
        [`${username}.companyID`, company.id],
        [`${username}.companyName`, company.name]
    ])
    .then(() => {
        dispatch({
            type: SAVED_COMPANY,
            payload: company
        })
    })
    .catch(err => {
        console.log(err);
        dispatch({
            type: SAVED_COMPANY,
            payload: {
                id: null,
                name: null
            }
        })
    })   
}

это действие, которое не работает должным образом:

export const saveConfigs = (configs) => dispatch => {
    console.log("action", configs)
    AsyncStorage.multiSet([
        [`updateStockpile`, configs.stockpile],
        [`updateData`, configs.data],
        [`emptyPhone`, configs.emptyPhone],
        [`language`, configs.language],
        [`autoUpdate`, configs.autoUpdate],
    ])
    .then(() => {
        console.log("set async...")
        dispatch({
            type: SAVE_CONFIG,
            payload: configs
        })
    })
    .catch(err => {
        console.log(err);
        console.log('no async set...')
    })
}

это способ, которым я реализую это внутри моего компонента:

saveChangedConfigs = async () => {
        this.props.saveConfigs({
            stockpile: this.state.updateItem.toString(),
            data: this.state.updateData.toString(),
            delete: this.state.emptyFiles.toString(),
            autoUpdate: this.state.autoUpdate,
            language: this.state.language
        })
    }

я вызываю этот метод из подпрограммы onChange собственного средства выбора, собственного переключателя и настраиваемого компонентаact-native-numeric-input из библиотеки с тем же именем.

Я надеюсь, что некоторые из них помогут мне понять, почему не работает мультимножество (я проверил его, получив значения, и все они были нулевыми).

Спасибо всем заранее за ваше время и проблемы.

1 Ответ

0 голосов
/ 25 апреля 2019

, видимо, проблема была с виртуальной машиной или чем-то еще, потому что она просто начала работать, а я ничего не делал. звучит странно, и это странно, но это то, что случилось.

...