Comments (3)
Personally I'm not a fan of typescript mainly because I think the extra code and overhead outweighs the benefits. It's not used much in the react community but is required for angular 2. Not sure if there would be much benefit for this library unless typescript was also used on the consuming end as well. Maybe exposing the ts files would be a nice extra but unless people really need it, it could just be more overhead.
from redux-subspace.
That's interesting to me because I would say that the extra code (of both Typescript and Flow - there isn't much difference in my opinion) add a huge amount of benefit to me in the form of confidence that the code does what I think it does. I would even say that if you are using ES6, the amount of extra code is fairly minimal.
In the argument of Typescript vs. Flow, I definitely agree that for a library to be consumed by other things (React vs. Angular 2 aside), Typescript might not be a sensible choice. I actually thought afterwards that it might be more prudent to keep the tests in plain javascript as that's where the majority of the bugs would occur (in the consumer's javascript).
Flow on the other hand slots into the babel lifecycle a bit better (read: not at all for Typescript). I did find Typescript's type inference was better than Flow's and I found myself having to work around a few of the quirks. For example, flow did not think action
was a callable function when it was called here until i specifically typed it to a Thunk
.
It also isn't as strict as Typescript and allows some things through. An example of this is providing additional parameters to function calls. Typescript makes you remove them unless you provide specific overrides that handle them. Flow allows them by default which leads to confusing calls and a messier codebase.
Having said all that, I feel like Flow is a good balance for the people that prefer strictly typed systems (like myself) and those that don't (like @vivian-farrell, I assume).
from redux-subspace.
I'm closing this as it was more of a thought exercise and discussion point than actually wanting static types in subspace
from redux-subspace.
Related Issues (20)
- @types in redux-subspace-observable dependencies HOT 1
- TypeError: undefined is not an object (evaluating 'store.subspaceOptions') HOT 4
- [redux-subspace] Thunk actions not namespaced HOT 11
- Any ideas on subspacing components with render props? HOT 7
- Removing Subspaced Reducer HOT 3
- TypeError: Object doesn't support property or method 'startsWith' [redux-subspace] HOT 1
- react-redux-subspace support react-redux 7 HOT 2
- [redux-subspace]Being in a subspace, can I dispatch an action to an other one ? HOT 3
- Ability to provide specific enhancer to a subspace HOT 19
- [redux-subspace-saga] Support redux-saga@^1.0.0 HOT 5
- Error on parentSpace HOT 2
- Basic subspace example incorrect in docs HOT 1
- Compatibility issue with react-redux v6 HOT 3
- [redux-subspace] In namespaced reducer, actions should be global by default HOT 1
- Cannot view updated parent space state when using useParentSpace() [react-redux-subspace] [redux-thunk] HOT 11
- Subspaced Saga - React to global action HOT 4
- react-redux-subspace npm audit denial-of-service vulnerability in recompose/node-fetch HOT 1
- Action Required: Fix Renovate Configuration
- Deprecated
- Using a prefilled state with namespaced reducers causes loss of the default store values. 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 redux-subspace.