Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import * as React from 'react'
- const withLogin = Page => class SecurePage extends React.Component {
- static async getInitialProps (ctx) {
- let language;
- if (ctx.req) {
- language = ctx.req.session.language;
- } else {
- language = localStorage.getItem('language');
- }
- let props = {}
- if (Page.getInitialProps) {
- const pageProps = await Page.getInitialProps(ctx);
- props = { ...pageProps, language }
- }
- console.log("this is what the props look like in the wrapping component", props)
- return props;
- // return Page.getInitialProps && { ...(await Page.getInitialProps(ctx)), language }
- }
- componentDidMount () {
- const { language } = this.props;
- if (language) {
- /* if we were able to fetch the language, set it here */
- localStorage.setItem('language', language);
- }
- }
- render () {
- console.log("pre-render page props ", this.props);
- return <Page {...this.props} />
- }
- }
- export default withLogin
- class EmployerJobList extends React.Component {
- static async getInitialProps(props) {
- if (props.req) {
- /* SSR */
- // language = req.session.language;
- } else {
- /* non-SSR */
- // language = user.preferred_language;
- }
- console.log("got language", props.language);
- getUrl (`/api/localization?filename=create-job&language=${props.language}`)
- .then( jsonRes => {
- console.log(jsonRes);
- })
- ...
- export default withLogin(EmployerJobList)
- static async getInitialProps(props) {
- if (props.req) {
- /* SSR */
- // language = req.session.language;
- } else {
- /* non-SSR */
- // language = localStorage.getItem('language')
- }
- ...
Add Comment
Please, Sign In to add comment