我正在尝试使用我
useState
中输入的数据更新我的 redux 存储。
当我研究这个错误日志时,我注意到在大多数情况下它与领域数据库有关,即使我没有尝试升级我的数据库,它似乎也会以某种方式影响我的 redux 存储。
LOG [Error: Wrong transactional state (no active transaction, wrong type of transaction, or transaction already in progress)
Exception backtrace:
<backtrace not supported on this platform>]
ERROR Error: Wrong transactional state (no active transaction, wrong type of transaction, or transaction already in progress)
Exception backtrace:
<backtrace not supported on this platform>
我的动作规则如下:
editEntity: (state, {payload}: any) => {
let entity = state.businesses?.find(x =>
x.businessId?.equals(payload.businessId),
);
if (entity) {
entity.name = payload.name;
}
}
如您所见,我正在更新的只是我的 redux 状态。
另一方面,当我创建一个新的业务对象并将其保存到我的领域数据库时,我首先创建该对象并检查我的状态数组是否有任何其他业务实体。如果它有以前的实体,它们将全部设置为假,例如
isDefault: false
,而新实体将自动设置为真。下面是我用来创建实体并检查是否将isDefault
设置为false || true
的函数:
const addHandler = async () => {
try {
//first create the realm object
realm.write(() => {
realm.create(
'BusinessEntity',
TBusiness.generate(
business.accountingPeriodId!,
business.name!,
business.registrationNumber!,
business.vatRegistered!,
business.vatNumber!,
business.startDate!,
business.endDate!,
business.streetAddress!,
business.suburb!,
business.province!,
business.postalCode!,
business.autoGenerateCustomerCode!,
business.autoGenerateItemCode!,
business.invoiceMessage!,
business.quotationMessage!,
business.bankName!,
business.branchCode!,
business.accountNumber!,
business.accountName!,
),
);
});
let newBusiness = await query.find(x => x.name === business.name);
let businessObject = realm.objects(TBusiness);
dispatch(addBusinessAction(newBusiness));
//update state, set previous to false
if (businessArray.businesses!.length > 0) {
//update any business entity that was created to "false"
//businessObject.findIndex(x => {
//
//if (x.name !== business.name) {
//x.isDefault = false;
//}
//});
businessObject.forEach(x => {
if (x.name !== business.name) {
return (x.isDefault = false);
}
});
}
setBusiness({});
} catch (err) {
console.log(err);
throw err;
}
};
但是当我运行该函数时,我得到以下日志:
LOG [Error: Wrong transactional state (no active transaction, wrong type of transaction, or transaction already in progress)
Exception backtrace:
0 Numberz 0x00000001053aca9f _ZN5realm10LogicErrorC1ENS0_9ErrorKindE + 47
1 Numberz 0x000000010577f472 _ZN5realm4Node16do_copy_on_writeEm + 354
2 Numberz 0x00000001056bc497 _ZN5realm5Array3setEmx + 103
3 Numberz 0x000000010577fadd _ZN5realm3Obj3setIbEERS0_NS_6ColKeyET_b + 637
4 Numberz 0x00000001053ba358 _ZN5realm6Object23set_property_value_implIPK13OpaqueJSValueNS_2js14NativeAccessorINS_3jsc5TypesEEEEEvRT0_RKNS_8PropertyET_NS_12CreatePolicyEb + 3592
5 Numberz 0x00000001053d6fa8 _ZN5realm2js16RealmObjectClassINS_3jsc5TypesEE12set_propertyEPK15OpaqueJSContextP13OpaqueJSValueRKNS0_6StringIS3_EEPKS8_ + 504
6 Numberz 0x0000000105435068 _ZN5realm2js4wrapIXadL_ZNS0_16RealmObjectClassINS_3jsc5TypesEE12set_propertyEPK15OpaqueJSContextP13OpaqueJSValueRKNS0_6StringIS4_EEPKS9_EEEEbS8_SA_P14OpaqueJSStringSG_PSG_ + 56
7 Numberz 0x000000010543e5e5 _ZN5realm3jsc10ObjectWrapINS_2js16RealmObjectClassINS0_5TypesEEEE15accessor_setterEPK15OpaqueJSContextP13OpaqueJSValueSB_mPKPKSA_PSD_ + 53
8 JavaScriptCore 0x00007fff318abd63 _ZN3JSC16JSCallbackObjectINS_16JSNonFinalObjectEE4callEPNS_14JSGlobalObjectEPNS_9CallFrameE + 627
9 JavaScriptCore 0x00007fff31836021 vmEntryToNative + 226
10 JavaScriptCore 0x00007fff31ee2c1d _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 573
11 JavaScriptCore 0x00007fff321a18f4 _ZN3JSC10callSetterEPNS_14JSGlobalObjectENS_7JSValueES2_S2_NS_8ECMAModeE + 308
12 JavaScriptCore 0x00007fff32249625 _ZN3JSC8JSObject13putInlineSlowEPNS_14JSGlobalObjectENS_12PropertyNameENS_7JSValueERNS_15PutPropertySlotE + 1077
13 JavaScriptCore 0x00007fff31fd9fb4 llint_slow_path_put_by_id + 1252
14 JavaScriptCore 0x00007fff3183f8cd llint_entry + 38921
15 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
16 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
17 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
18 ??? 0x0000507ac899f7ae 0x0 + 88488281765806
19 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
20 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
21 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
22 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
23 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
24 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
25 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
26 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
27 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
28 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
29 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
30 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
31 JavaScriptCore 0x00007fff318509b1 llint_entry + 108781
32 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
33 ??? 0x0000507ac8ab4ac3 0x0 + 88488282901187
34 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
35 ??? 0x0000507ac8ab524f 0x0 + 88488282903119
36 ??? 0x0000507ac8a9fa5b 0x0 + 88488282815067
37 ??? 0x0000507ac86f2feb 0x0 + 88488278962155
38 ??? 0x0000507ac8a9f0e9 0x0 + 88488282812649
39 ??? 0x0000507ac86025d7 0x0 + 88488277976535
40 JavaScriptCore 0x00007fff31835ecf vmEntryToJavaScript + 216
41 JavaScriptCore 0x00007fff31ee2be6 _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 518
42 JavaScriptCore 0x00007fff321e66b7 _ZN3JSC27boundThisNoArgsFunctionCallEPNS_14JSGlobalObjectEPNS_9CallFrameE + 743
43 JavaScriptCore 0x00007fff31836021 vmEntryToNative + 226
44 JavaScriptCore 0x00007fff31ee2c1d _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 573
45 JavaScriptCore 0x00007fff32135714 _ZN3JSC12profiledCallEPNS_14JSGlobalObjectENS_15ProfilingReasonENS_7JSValueERKNS_8CallDataES3_RKNS_7ArgListE + 164
46 JavaScriptCore 0x00007fff318b9706 JSObjectCallAsFunction + 694
47 Numberz 0x00000001052ae838 _ZN8facebook3jsc10JSCRuntime4callERKNS_3jsi8FunctionERKNS2_5ValueEPS7_m + 344
48 Numberz 0x00000001052bea5d _ZNK8facebook3jsi8Function4callERNS0_7RuntimeEPKNS0_5ValueEm + 125
49 Numberz 0x00000001052be97b _ZNK8facebook3jsi8Function4callERNS0_7RuntimeESt16initializer_listINS0_5ValueEE + 107
50 Numberz 0x00000001052e1890 _ZNK8facebook3jsi8Function4callIJRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEESB_NS0_5ValueEEEESC_RNS0_7RuntimeEDpOT_ + 368
51 Numberz 0x00000001052e16b6 _ZZN8facebook5react11JSIExecutor12callFunctionERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKN5folly7dynamicEENK3$_5clEv + 166
52 Numberz 0x00000001052e15ed _ZNSt3__1L8__invokeIRZN8facebook5react11JSIExecutor12callFunctionERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESB_RKN5folly7dynamicEE3$_5JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSI_DpOSJ_ + 29
53 Numberz 0x00000001052e159d _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRZN8facebook5react11JSIExecutor12callFunctionERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESD_RKN5folly7dynamicEE3$_5EEEvDpOT_ + 29
54 Numberz 0x00000001052e156d _ZNSt3__110__function12__alloc_funcIZN8facebook5react11JSIExecutor12callFunctionERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESC_RKN5folly7dynamicEE3$_5NS8_ISH_EEFvvEEclEv + 29
55 Numberz 0x00000001052e049e _ZNSt3__110__function6__funcIZN8facebook5react11JSIExecutor12callFunctionERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESC_RKN5folly7dynamicEE3$_5NS8_ISH_EEFvvEEclEv + 30
56 Numberz 0x0000000105321f85 _ZNKSt3__110__function12__value_funcIFvvEEclEv + 53
57 Numberz 0x0000000105321e95 _ZNKSt3__18functionIFvvEEclEv + 21
58 Numberz 0x0000000104ffe2f9 _ZN8facebook5react11JSIExecutor21defaultTimeoutInvokerERKNSt3__18functionIFvvEEENS3_IFNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEEE + 25
59 Numberz 0x0000000105000ccc _ZNSt3__1L8__invokeIRPFvRKNS_8functionIFvvEEENS1_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEEJS5_SD_EEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSH_DpOSI_ + 108
60 Numberz 0x0000000105000c37 _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRPFvRKNS_8functionIFvvEEENS3_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEES7_SF_EEEvDpOT_ + 71
61 Numberz 0x0000000105000bc7 _ZNSt3__110__function12__alloc_funcIPFvRKNS_8functionIFvvEEENS2_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEENSA_ISG_EESF_EclES6_OSE_ + 71
62 Numberz 0x0000000104fff7c8 _ZNSt3__110__function6__funcIPFvRKNS_8functionIFvvEEENS2_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEENSA_ISG_EESF_EclES6_OSE_ + 72
63 Numberz 0x00000001052dfaba _ZNKSt3__110__function12__value_funcIFvRKNS_8functionIFvvEEENS2_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEEEclES6_OSE_ + 106
64 Numberz 0x00000001052cf825 _ZNKSt3__18functionIFvRKNS0_IFvvEEENS0_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEEEclES4_SC_ + 69
65 Numberz 0x00000001052cf46b _ZN8facebook5react11JSIExecutor12callFunctionERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKN5folly7dynamicE + 491
66 Numberz 0x0000000105295363 _ZZN8facebook5react16NativeToJsBridge12callFunctionEONSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_ON5folly7dynamicEENK3$_2clEPNS0_10JSExecutorE + 739
67 Numberz 0x0000000105295062 _ZNSt3__1L8__invokeIRZN8facebook5react16NativeToJsBridge12callFunctionEONS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESA_ON5folly7dynamicEE3$_2JPNS2_10JSExecutorEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSI_DpOSJ_ + 50
68 Numberz 0x0000000105295002 _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRZN8facebook5react16NativeToJsBridge12callFunctionEONS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESC_ON5folly7dynamicEE3$_2PNS4_10JSExecutorEEEEvDpOT_ + 50
69 Numberz 0x0000000105294fc2 _ZNSt3__110__function12__alloc_funcIZN8facebook5react16NativeToJsBridge12callFunctionEONS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESB_ON5folly7dynamicEE3$_2NS8_ISF_EEFvPNS3_10JSExecutorEEEclEOSI_ + 50
70 Numberz 0x0000000105293c43 _ZNSt3__110__function6__funcIZN8facebook5react16NativeToJsBridge12callFunctionEONS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESB_ON5folly7dynamicEE3$_2NS8_ISF_EEFvPNS3_10JSExecutorEEEclEOSI_ + 51
71 Numberz 0x00000001052a05dd _ZNKSt3__110__function12__value_funcIFvPN8facebook5react10JSExecutorEEEclEOS5_ + 77
72 Numberz 0x00000001052a0560 _ZNKSt3__18functionIFvPN8facebook5react10JSExecutorEEEclES4_ + 48
73 Numberz 0x00000001052a0528 _ZZN8facebook5react16NativeToJsBridge18runOnExecutorQueueENSt3__18functionIFvPNS0_10JSExecutorEEEEENK3$_8clEv + 104
74 Numberz 0x00000001052a049d _ZNSt3__1L8__invokeIRZN8facebook5react16NativeToJsBridge18runOnExecutorQueueENS_8functionIFvPNS2_10JSExecutorEEEEE3$_8JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSB_DpOSC_ + 29
75 Numberz 0x00000001052a044d _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRZN8facebook5react16NativeToJsBridge18runOnExecutorQueueENS_8functionIFvPNS4_10JSExecutorEEEEE3$_8EEEvDpOT_ + 29
76 Numberz 0x00000001052a041d _ZNSt3__110__function12__alloc_funcIZN8facebook5react16NativeToJsBridge18runOnExecutorQueueENS_8functionIFvPNS3_10JSExecutorEEEEE3$_8NS_9allocatorISA_EEFvvEEclEv + 29
77 Numberz 0x000000010529ef7e _ZNSt3__110__function6__funcIZN8facebook5react16NativeToJsBridge18runOnExecutorQueueENS_8functionIFvPNS3_10JSExecutorEEEEE3$_8NS_9allocatorISA_EEFvvEEclEv + 30
78 Numberz 0x0000000105321f85 _ZNKSt3__110__function12__value_funcIFvvEEclEv + 53
79 Numberz 0x0000000105321e95 _ZNKSt3__18functionIFvvEEclEv + 21
80 Numberz 0x0000000105060cd5 _ZN8facebook5react17tryAndReturnErrorERKNSt3__18functionIFvvEEE + 21
81 Numberz 0x00000001050928b1 _ZN8facebook5react16RCTMessageThread7tryFuncERKNSt3__18functionIFvvEEE + 33
82 Numberz 0x00000001050981ce _ZZN8facebook5react16RCTMessageThread10runOnQueueEONSt3__18functionIFvvEEEENK3$_1clEv + 94
83 Numberz 0x000000010509814d _ZNSt3__1L8__invokeIRZN8facebook5react16RCTMessageThread10runOnQueueEONS_8functionIFvvEEEE3$_1JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSA_DpOSB_ + 29
84 Numberz 0x00000001050980fd _ZNSt3__128__invoke_void_return_wrapperIvE6__callIJRZN8facebook5react16RCTMessageThread10runOnQueueEONS_8functionIFvvEEEE3$_1EEEvDpOT_ + 29
85 Numberz 0x00000001050980cd _ZNSt3__110__function12__alloc_funcIZN8facebook5react16RCTMessageThread10runOnQueueEONS_8functionIFvvEEEE3$_1NS_9allocatorIS9_EES6_EclEv + 29
86 Numberz 0x0000000105096d3e _ZNSt3__110__function6__funcIZN8facebook5react16RCTMessageThread10runOnQueueEONS_8functionIFvvEEEE3$_1NS_9allocatorIS9_EES6_EclEv + 30
87 Numberz 0x0000000105321f85 _ZNKSt3__110__function12__value_funcIFvvEEclEv + 53
88 Numberz 0x0000000105321e95 _ZNKSt3__18functionIFvvEEclEv + 21
89 Numberz 0x0000000105092510 ___ZN8facebook5react16RCTMessageThread8runAsyncENSt3__18functionIFvvEEE_block_invoke + 48
90 CoreFoundation 0x00007fff20390120 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
91 CoreFoundation 0x00007fff2038f534 __CFRunLoopDoBlocks + 434
92 CoreFoundation 0x00007fff20389f44 __CFRunLoopRun + 899
93 CoreFoundation 0x00007fff203896d6 CFRunLoopRunSpecific + 567
94 Numberz 0x000000010502b891 +[RCTCxxBridge runRunLoop] + 993
95 Foundation 0x00007fff20858e68 __NSThread__start__ + 1042
96 libsystem_pthread.dylib 0x00007fff61167109 _pthread_start + 148
97 libsystem_pthread.dylib 0x00007fff61162b8b thread_start + 15]
WARN Possible Unhandled Promise Rejection (id: 3):
Error: Wrong transactional state (no active transaction, wrong type of transaction, or transaction already in progress)
Exception backtrace:
0 Numberz 0x00000001053aca9f _ZN5realm10LogicErrorC1ENS0_9ErrorKindE + 47
1 Numberz 0x000000010577f472 _ZN5realm4Node16do_copy_on_writeEm + 354
2 Numberz 0x00000001056bc497 _ZN5realm5Array3setEmx + 103
3 Numberz 0x000000010577fadd _ZN5realm3Obj3setIbEERS0_NS_6ColKeyET_b + 637
4 Numberz 0x00000001053ba358 _ZN5realm6Object23set_property_value_implIPK13OpaqueJSValueNS_2js14NativeAccessorINS_3jsc5TypesEEEEEvRT0_RKNS_8PropertyET_NS_12CreatePolicyEb + 3592
5 Numberz 0x00000001053d6fa8 _ZN5realm2js16RealmObjectClassINS_3jsc5TypesEE12set_propertyEPK15OpaqueJSContextP13OpaqueJSValueRKNS0_6StringIS3_EEPKS8_ + 504
6 Numberz 0x0000000105435068 _ZN5realm2js4wrapIXadL_ZNS0_16RealmObjectClassINS_3jsc5TypesEE12set_propertyEPK15OpaqueJSContextP13OpaqueJSValueRKNS0_6StringIS4_EEPKS9_EEEEbS8_SA_P14OpaqueJSStringSG_PSG_ + 56
7 Numberz 0x000000010543e5e5 _ZN5realm3jsc10ObjectWrapINS_2js16RealmObjectClassINS0_5TypesEEEE15accessor_setterEPK15OpaqueJSContextP13OpaqueJSValueSB_mPKPKSA_PSD_ + 53
8 JavaScriptCore 0x00007fff318abd63 _ZN3JSC16JSCallbackObjectINS_16JSNonFinalObjectEE4callEPNS_14JSGlobalObjectEPNS_9CallFrameE + 627
9 JavaScriptCore 0x00007fff31836021 vmEntryToNative + 226
10 JavaScriptCore 0x00007fff31ee2c1d _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 573
11 JavaScriptCore 0x00007fff321a18f4 _ZN3JSC10callSetterEPNS_14JSGlobalObjectENS_7JSValueES2_S2_NS_8ECMAModeE + 308
12 JavaScriptCore 0x00007fff32249625 _ZN3JSC8JSObject13putInlineSlowEPNS_14JSGlobalObjectENS_12PropertyNameENS_7JSValueERNS_15PutPropertySlotE + 1077
13 JavaScriptCore 0x00007fff31fd9fb4 llint_slow_path_put_by_id + 1252
14 JavaScriptCore 0x00007fff3183f8cd llint_entry + 38921
15 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
16 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
17 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
18 ??? 0x0000507ac899f7ae 0x0 + 88488281765806
19 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
20 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
21 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
22 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
23 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
24 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
25 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
26 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
27 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
28 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
29 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
30 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
31 JavaScriptCore 0x00007fff318509b1 llint_entry + 108781
32 JavaScriptCore 0x00007fff3184f949 llint_entry + 104581
33 ??? 0x0000507ac8ab4ac3 0x0 + 88488282901187
34 JavaScriptCore 0x00007fff3184f8c9 llint_entry + 104453
35 ??? 0x0000507ac8ab524f 0x0 + 88488282903119
36 ??? 0x0000507ac8a9fa5b 0x0 + 88488282815067
37 ??? 0x0000507ac86f2feb 0x0 + 88488278962155
38 ??? 0x0000507ac8a9f0e9 0x0 + 88488282812649
39 ??? 0x0000507ac86025d7 0x0 + 88488277976535
40 JavaScriptCore 0x00007fff31835ecf vmEntryToJavaScript + 216
41 JavaScriptCore 0x00007fff31ee2be6
我知道已经有一段时间了,但我处理了完全相同的问题并找到了适合我情况的解决方案。如果将来对某人有帮助,我会分享它:
每次我尝试更新我的 Redux 商店时,我也会遇到这个错误
Error: Wrong transactional state
,即使它与 Realm 无关。
这通过更改我的 Redux 操作文件以使用存储中现有对象的 DEEP COPY 而不是浅拷贝来解决。
我从这个改变(不工作):
export const updateUserInfo = (key, value, userDetails) => {
return async dispatch => {
if (userDetails == null) {
var obj = {};
obj[key] = value;
} else {
var obj = userDetails;
obj[key] = value;
}
dispatch({ type: types.USER_DETAILS, flag: obj });
}
}
对此(工作):
function cloneObject(sourceObject) {
cloned = JSON.parse(JSON.stringify(sourceObject));
return cloned;
}
export const updateUserInfo = (key, value, userDetails) => {
return async dispatch => {
if (userDetails == null) {
var obj = {};
obj[key] = value;
} else {
var obj = cloneObject(userDetails); // <- THIS IS THE MAGIC
obj[key] = value;
}
dispatch({ type: types.USER_DETAILS, flag: obj });
}
}