Giter VIP home page Giter VIP logo

Comments (8)

ryanblakeley avatar ryanblakeley commented on May 21, 2024

Got some better logging and found that createResolver(fetcher) is returning an object with:

lastQueries: [ undefined, undefined ],

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024

More logging

/src/modern/Resolver

...
async * resolveElements(match) {
    console.log('MATCH', match);
...

Output:

MATCH { location: { action: 'POP', pathname: '/', search: '', hash: '', query: {} },
  routeIndices: [ 0, 0 ],
  routeParams: [ {}, {} ],
  params: {},
  routes:
   [ Route { path: '/', Component: [Object], children: [Object] },
     Route { Component: [Function: HomePage] } ],
  match:
   { location: { action: 'POP', pathname: '/', search: '', hash: '', query: {} },
     routeIndices: [ 0, 0 ],
     routeParams: [ {}, {} ],
     params: {} },
  router:
   { push: [Function],
     replace: [Function],
     go: [Function],
     createHref: [Function],
     createLocation: [Function],
     addTransitionHook: [Function: addHook],
     matcher: Matcher { routeConfig: [Object] },
     isActive: [Function: isActive] },
  context: undefined }

from found-relay.

taion avatar taion commented on May 21, 2024
  1. Are the fetch requests actually succeeding on the server?
  2. Does this work if you don't use SSR? That pathname thing seems unrelated to anything you might be donig with SSR.

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024
  1. I'm not sure when the first API server request even happens. It looks like the Fetcher constructors don't call to the server. But I'm digging to see.
  2. I got completely stuck on importing CSS where babel just wasn't handling it for server side compilation (which I think is different than rendering). It looked like the only option was to use something like universal-webpack or a css module hook, but the later wouldn't take care of images. So I'm having to take the big bite instead of building up to it.

Edit: I don't see the fetch method ever getting called.

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024

const relayPayloads = serialize(fetcher, { isJSON: true });

Is returning an empty array in server.js. Is that unexpected?

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024

My instinct is that the problem is around the last line of output seen in #57 (comment). I say that because context: undefined seems like it could affect an expression like context.location.pathname. I can't think of other expressions that refer to pathname.

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024

I finally pinned down the expression that is generating the error:

https://github.com/4Catalyzer/found/blob/68ae966a079a75dbb09c49231a68673f1ec5bbf1/src/Matcher.js#L58

In the scope of that function these are the parameter values:

matchLocation: undefined
location: true

Seems off since they both expect to be objects with the property .pathname. Is this an issue with found?

Edit: This method https://github.com/4Catalyzer/found/blob/be1f87738121b30e2b044656b29e1094e2ea26da/src/utils/createStoreRouterObject.js#L22 is getting called with the first two parameters as '/', true.

from found-relay.

ryanblakeley avatar ryanblakeley commented on May 21, 2024

Well f* me. I had legacy code from when I was using react-relay-router. There was a component that was using context.router.isActive, which was getting through and failing inside found. 🤦

from found-relay.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.