mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Back out "Don't retain State in StateWrapperImpl"
Summary: Changelog: [internal] Original commit changeset: 0703c6dccc62 Reviewed By: yungsters Differential Revision: D26849056 fbshipit-source-id: 2c6fca3ef06ac4868979d0a93c04c0eabdd56eb0
This commit is contained in:
committed by
Facebook GitHub Bot
parent
283512cc42
commit
a206f4fc2e
@@ -23,24 +23,17 @@ jni::local_ref<StateWrapperImpl::jhybriddata> StateWrapperImpl::initHybrid(
|
||||
}
|
||||
|
||||
jni::local_ref<ReadableNativeMap::jhybridobject> StateWrapperImpl::getState() {
|
||||
auto state = state_.lock();
|
||||
if (!state) {
|
||||
return nullptr;
|
||||
}
|
||||
folly::dynamic map = state->getDynamic();
|
||||
folly::dynamic map = state_->getDynamic();
|
||||
local_ref<ReadableNativeMap::jhybridobject> readableNativeMap =
|
||||
ReadableNativeMap::newObjectCxxArgs(map);
|
||||
return readableNativeMap;
|
||||
}
|
||||
|
||||
void StateWrapperImpl::updateStateImpl(NativeMap *map) {
|
||||
auto state = state_.lock();
|
||||
if (state) {
|
||||
// Get folly::dynamic from map
|
||||
auto dynamicMap = map->consume();
|
||||
// Set state
|
||||
state->updateState(dynamicMap);
|
||||
}
|
||||
// Get folly::dynamic from map
|
||||
auto dynamicMap = map->consume();
|
||||
// Set state
|
||||
state_->updateState(dynamicMap);
|
||||
}
|
||||
|
||||
void StateWrapperImpl::registerNatives() {
|
||||
|
||||
@@ -32,7 +32,7 @@ class StateWrapperImpl : public jni::HybridClass<StateWrapperImpl> {
|
||||
jni::alias_ref<jobject> self,
|
||||
int callbackRefId);
|
||||
|
||||
State::Weak state_;
|
||||
State::Shared state_;
|
||||
|
||||
private:
|
||||
jni::alias_ref<StateWrapperImpl::jhybriddata> jhybridobject_;
|
||||
|
||||
Reference in New Issue
Block a user