Are you on pace?
OnPace is a Garmin Smartwatch data field for runners that displays how far ahead/behind you are your target pace.
Are you on pace?
OnPace is a Garmin Smartwatch data field for runners that displays how far ahead/behind you are your target pace.
| import { useRef, useEffect, useCallback } from "react"; | |
| // Rate limit a function but make sure the last call in a series of calls is run. | |
| function useRateLimitedCallback(timeout, callback) { | |
| // Save the callback in a ref to allow using a un-memoized callback parameter without changing identity of the returned callback function | |
| const callbackRef = useRef(callback); | |
| useEffect(() => { | |
| callbackRef.current = callback; | |
| }); |
| const injectFunc = WrappedComponent => | |
| class InjectFunc extends React.Component { | |
| render() { | |
| return <WrappedComponent func={this.log} {...this.props}/>; | |
| } | |
| log = () => console.log("This function is from the HOC!"); | |
| } |
| @injectText | |
| class MyPage extends React.Component { | |
| render() { | |
| console.log(this.props.text); // Will write "This text is from the HOC!" to console. | |
| return <SomeContent/>; | |
| } | |
| } |
| const injectText = WrappedComponent => | |
| class InjectText extends React.Component { | |
| return <WrappedComponent text="This text is from the HOC!" {...this.props}/>; | |
| } |
| @doNothing | |
| class MyPage extends React.Component { | |
| render() { | |
| return <SomeContent/>; | |
| } | |
| } |
| const doNothing = WrappedComponent => | |
| class DoNothing extends React.Component { | |
| render() { | |
| return <WrappedComponent {...this.props}/> | |
| } | |
| }; | |
| export default doNothing; |
| class App extends React.Component { | |
| render() { | |
| return ( | |
| <div> | |
| <StudentPage/> | |
| <OtherPage/> | |
| <AndOtherPage}/> | |
| <div> | |
| ); | |
| } |
| class App extends React.Component { | |
| render() { | |
| return ( | |
| <div> | |
| <DataContainer component={StudentPage} fetchData={() => fetch("myschool/student")}/> | |
| <DataContainer component={OtherPage} fetchData={() => fetch("myschool/other")}/> | |
| <DataContainer component={AndOtherPage} fetchData={() => fetch(("myschool/andanother")}/> | |
| <div> | |
| ); | |
| } |
| class App extends React.Component { | |
| render() { | |
| return ( | |
| <div> | |
| <StudentContainer/> | |
| <OtherContainer/> | |
| <AndAnotherContainer/> | |
| <div> | |
| ); | |
| } |