Guest User

Untitled

a guest
Jan 15th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. import * as React from 'react'
  2. const withLogin = Page => class SecurePage extends React.Component {
  3. static async getInitialProps (ctx) {
  4.  
  5. let language;
  6. if (ctx.req) {
  7. language = ctx.req.session.language;
  8. } else {
  9. language = localStorage.getItem('language');
  10. }
  11.  
  12. let props = {}
  13. if (Page.getInitialProps) {
  14. const pageProps = await Page.getInitialProps(ctx);
  15. props = { ...pageProps, language }
  16. }
  17.  
  18. console.log("this is what the props look like in the wrapping component", props)
  19.  
  20. return props;
  21.  
  22. // return Page.getInitialProps && { ...(await Page.getInitialProps(ctx)), language }
  23. }
  24.  
  25. componentDidMount () {
  26. const { language } = this.props;
  27. if (language) {
  28. /* if we were able to fetch the language, set it here */
  29. localStorage.setItem('language', language);
  30. }
  31. }
  32.  
  33. render () {
  34. console.log("pre-render page props ", this.props);
  35. return <Page {...this.props} />
  36. }
  37. }
  38.  
  39. export default withLogin
  40.  
  41. class EmployerJobList extends React.Component {
  42. static async getInitialProps(props) {
  43.  
  44. if (props.req) {
  45. /* SSR */
  46. // language = req.session.language;
  47. } else {
  48. /* non-SSR */
  49. // language = user.preferred_language;
  50. }
  51. console.log("got language", props.language);
  52. getUrl (`/api/localization?filename=create-job&language=${props.language}`)
  53. .then( jsonRes => {
  54. console.log(jsonRes);
  55. })
  56. ...
  57. export default withLogin(EmployerJobList)
  58.  
  59. static async getInitialProps(props) {
  60.  
  61. if (props.req) {
  62. /* SSR */
  63. // language = req.session.language;
  64. } else {
  65. /* non-SSR */
  66. // language = localStorage.getItem('language')
  67. }
  68. ...
Add Comment
Please, Sign In to add comment