{"ScriptPreparationCode":"function ChildComponent(props) {\r\n return React.createElement(\u0022div\u0022, props);\r\n}\r\n\r\nconst OptimizedChildComponent = React.memo(ChildComponent);\r\n\r\nfunction UseMemoAndOptimizedChild(props) {\r\n const handler = React.useMemo(() =\u003E {\r\n return _.debounce(props.handler, props.wait);\r\n }, [props.handler, props.wait]);\r\n return React.createElement(OptimizedChildComponent, { className: handler() });\r\n}\r\n\r\nfunction UseMemoAlone(props) {\r\n const handler = React.useMemo(() =\u003E {\r\n return _.debounce(props.handler, props.wait);\r\n }, [props.handler, props.wait]);\r\n return React.createElement(ChildComponent, { className: handler() });\r\n}\r\n\r\nfunction NoMemo(props) {\r\n const handler = _.debounce(props.handler, props.wait);\r\n return React.createElement(ChildComponent, { className: handler() });\r\n}\r\n\r\nvar propCases = [{\r\n handler: function() { return Math.random(); },\r\n wait: 100\r\n}, {\r\n handler: function() { return Math.random(); },\r\n wait: 200\r\n}];\r\npropCases.push(propCases[1]);","TestCases":[{"Name":"No Memo","Code":"propCases.forEach((props) =\u003E {\r\n ReactDOM.render(React.createElement(NoMemo, props, null), root);\r\n});","IsDeferred":false},{"Name":"UseMemoAndOptimizedChild","Code":"propCases.forEach((props) =\u003E {\r\n ReactDOM.render(React.createElement(UseMemoAndOptimizedChild, props, null), root);\r\n});","IsDeferred":false},{"Name":"UseMemoAlone","Code":"propCases.forEach((props) =\u003E {\r\n ReactDOM.render(React.createElement(UseMemoAlone, props, null), root);\r\n});","IsDeferred":false}]}