SolidJSS
SolidJSβ€’2y agoβ€’
2 replies
laksh

use createMemo outside a component

is it correct to use createMemo outside a component function? Can I use it in a util file?

const getDataFromFirebase = (dataToFetch) => { try { if (firebaseDetails && Object.keys(firebaseDetails || {})?.length) { // some operations performed } } catch (error) { } };


The above fn is in a util file. In the above fn Object.keys(firebaseDetails || {}) is a very heavy computation since firebaseDetails is very large object. I want to memoise this. Is the below implementation correct? Since I am using createMemo outside the component in a util file and getDataFromFirebase is called from many places that's why it is placed in a util file.

const memoizedFirebaseKeys = createMemo(() => Object.keys(firebaseDetails || {})); export const getDataFromFirebase = (dataToFetch) => { try { if (firebaseDetails && memoizedFirebaseKeys().length) { // some heavy computation } } catch (error) { } };
Was this page helpful?