DenoDDeno
Powered by
Donald BidenD
Denoโ€ข2y agoโ€ข
7 replies
Donald Biden

Add provider component to context

Hi, is this an anti-pattern in Fresh?

export default function App({ Component, SomeProvider }: PageProps) {
  return (
    <html>
      <SomeProvider>
        <Component />
      </SomeProvider>
    </html>
  );
}
export default function App({ Component, SomeProvider }: PageProps) {
  return (
    <html>
      <SomeProvider>
        <Component />
      </SomeProvider>
    </html>
  );
}


Basically
SomeProvider
SomeProvider
is attached to the
ctx
ctx
via middleware. Use-case is if you want to add server props coming from
state
state
. So instead of doing something like:

import { SomeProvider } from 'your-library'

export default function App({ Component, state }: PageProps) {
  return (
    <html>
      <SomeProvider serverProp1={state.serverProp1} serverProp2={state.serverProp2}>
        <Component />
      </SomeProvider>
    </html>
  );
}
import { SomeProvider } from 'your-library'

export default function App({ Component, state }: PageProps) {
  return (
    <html>
      <SomeProvider serverProp1={state.serverProp1} serverProp2={state.serverProp2}>
        <Component />
      </SomeProvider>
    </html>
  );
}


It improves DX since user-land wont have to do this anymore. Will it be unique to each request? And if yes, how would you update
PageProps
PageProps
type?
Deno banner
DenoJoin
Chat about Deno, a modern runtime for JavaScript and TypeScript.
20,934Members
Resources
Recent Announcements

Similar Threads

Was this page helpful?

Similar Threads

Adding methods to Oak's Context?
abiAabi / help
3y ago
Async execution context
shultz๐Ÿ‡ฎ๐Ÿ‡ฑSshultz๐Ÿ‡ฎ๐Ÿ‡ฑ / help
3y ago
Passing props to component from layout
nandi.weird.oneNnandi.weird.one / help
2y ago