Comments (5)
My guess is yes, but I'm not 100% sure what you mean. Are you talking about with React Router using willTransitionTo
, and aborting if a promise doesn't resolve?
I still need to figure out what to do when promises fail, so maybe this is a good test-case.
A little more detail would be greatly appreciated!
from react-resolver.
Yea, I am referring to willTransitionTo
. I don't think there would any deeper details, because it's just the usual hey-an-exception-was-thrown-or-maybe-400-or-500-occured-let's-stop-going-to-this-route thing, like in Angular. I'd like to have them by default with some util or something.
Good work, by the way 👍.
from react-resolver.
In regards to 400, it should be handled by a middleware component (or mixin). The only thing we should be handling, I think, are 500 errors.
from react-resolver.
@srph Since react-resolver only deals with promises, not Ajax requests or HTTP errors, it should probably be up to the promises (or whichever library is doing the Ajax calls) to determine whether to resolve or reject based on the HTTP response.
There's still an open question here about error handling, I think, regardless of what is causing the errors.
from react-resolver.
I agree.
I think it's highly project-specific, but I definitely see validity in being able to do something like:
Resolver.createContainer(Users, {
onError: function(error, props, context) {
context.router.go(`/error/user?code=404&userId=${props.userId}`)
resolve: { ... }
});
Alternatively, on the server, if you do `Resolver.renderToString(...).catch()`, you can choose to render an error view instead (effectively a 400 or 500).
To add more fuel to the fire, I was _also_ considering still rendering the view, as long as the `.propTypes` are not `.isRequired`, and let the child component deal with the missing data. Or, perhaps send an `errors` prop to the view.
Let's continue the discussion in #2, since @jesseskinner foreshadowed this problem in the beginning :)
from react-resolver.
Related Issues (20)
- React.renderToStaticMarkup -> ReactDOMServer.renderToStaticMarkup HOT 2
- Can I use this without server rendering? HOT 3
- Add ability to cache resolved props HOT 9
- Using HOC breaks HMR
- Minimum universal react API HOT 1
- test
- Support variable? HOT 3
- Unhandled rejections server side HOT 1
- @context steals data from this.context HOT 6
- Allow factory to decide which props to re-use? HOT 5
- Documentation links are broken HOT 4
- Using same component on different routes HOT 3
- Using @client and @resolve on the same class causes @resolve to be called twice HOT 1
- Some way of manipulating data before passing it to component HOT 2
- Breakage with React 16: PropTypes no longer exported by React HOT 1
- "[email protected]" has incorrect peer dependency "react@^0.14.6 || ^15.0.0-0" HOT 5
- Need hydrate static method in the Resolver class for server side rendering HOT 2
- Fix compatibility with Babel 6
- Resolve multiple props with one callback HOT 5
- Initial Data from Django using React Resolver HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-resolver.