Every line of 'how to pass state from one component to another' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your JavaScript code is secure.
7 export function mergeStates ( 8 components: ComponentSpaceIndex, // new components 9 lastComponents: ComponentSpaceIndex // old components 10 ): ComponentSpaceIndex { 11 12 let comps: ComponentSpaceIndex = {} 13 14 for (let i = 0, ids = Object.keys(lastComponents), len = ids.length; i < len; i++) { 15 let newComp = components[ids[i]] 16 let lastComp = lastComponents[ids[i]] 17 18 // resulting component 19 comps[ids[i]] = newComp 20 21 // if the component still existing 22 /* istanbul ignore else */ 23 if (newComp) { 24 // if the new component state is an object 25 if (typeof newComp.state === 'object') { 26 for (let j = 0, keys = Object.keys(newComp.state), len = keys.length; j < len; j++) { 27 // compare old definition and new state deeply, if equal let the modified old state 28 if (deepEqual(newComp.state[keys[j]], lastComp.def.state[keys[i]])) { 29 comps[ids[i]].state[keys[j]] = lastComp.state[keys[j]] 30 } 31 } 32 } else { // if is a value or undefined 33 /* istanbul ignore else */ 34 if (newComp.state === lastComp.def.state) { 35 comps[ids[i]].state = lastComp.state 36 } 37 } 38 } 39 } 40 41 return comps 42 }
284 setState(newState) { 285 if (typeof newState === 'object') { 286 const oldstate = Object(_utils_clone__WEBPACK_IMPORTED_MODULE_4__["default"])(this.state); 287 this.state = Object.assign(oldstate, newState); 288 289 Object(_utils_skipInProductionAndTest__WEBPACK_IMPORTED_MODULE_5__["default"])(() => Object.freeze(this.state)); 290 291 if (this.$config.listen) { 292 this.$privateStore.setState(newState); 293 } 294 } else { 295 // console.error('[Radi.js] ERROR: Action did not return object to merge with state'); 296 } 297 298 if (!this.$config.listen && typeof this.view === 'function' && this.html) { 299 _r_utils_fuseDom__WEBPACK_IMPORTED_MODULE_3__["default"].fuse(this.html, this.view()); 300 } 301 this.trigger('update'); 302 return this.state; 303 }
121 function _updateState(nextState) { 122 logger.log("[UPDATE]: nextState = " + nextState); 123 currentState = nextState || currentState; 124 }