Comments (5)
Here is the process I suggest:
- Turn on
strickNullChecks
in your checkout - Try to compile the core
- Choose a part of the library (auth, forms, etc)
- Fix a reasonable amount of errors to make the change readable
- Turn off
strickNullChecks
- Open a PR with your changes.
This way, we can gradually make the types better. It will take several PRs to fix the core. This improvement will only be made available for users once we have all the checks fixed. But that's the only safe way.
from react-admin.
Hi, and thanks for your report.
We're well aware of the limitations caused by structNullChecks=false
in the quality of types. We have it on our radar, but the benefit / cost ratio of this task is low, so it's not a priority for us. Fixing it is non-trivial, as we have to make ra-core
compilable with strict?NullChecks=true
. Previous attempts (#8141) lead to a dead end.
You're welcome to contribute small PRs fixing types of individual hooks & components for strict null checks.
I'm closing this issue as it's a long-term goal.
from react-admin.
Thanks for letting us know it's a long term goal. It's not possible to fix the issue with the hooks until strictNullChecks is enabled. It's currently not possible to use the generated types safely in projects.
from react-admin.
@fzaninotto What sort of approach would be required to get strictNullChecks enabled? It looks like someone tried to help you with it in #8141, but because the scope of the change was too big the PR was closed.
I'm not sure how you could partially add strict null checks to make for a smaller PR that would be accepted.
The benefit is quite high for people using React Admin as it will catch a lot of runtime errors at compile time.
from react-admin.
Here is an exemple small PR fixing the ra-core types: #9644
from react-admin.
Related Issues (20)
- Change title property type in core display components <Edit>, <Show>, <View> HOT 1
- Standalone version of the Store for a dual-store strategy HOT 3
- Unable to clear default value in DateTimeInput component HOT 3
- Documented theme level defaultProps overrides do not work for react admin components HOT 4
- Reference Array selected item from a filter query vanishes immediately after selection. HOT 2
- Infinite re-rendering using disabled AutocompleteArrayInput in a ReferenceArrayInput HOT 6
- AutocompleteInput don't keep focus with mouse HOT 5
- Documentation update in sample. HOT 3
- NumberInput's `onBlur` prop does not provide an event object HOT 2
- Add ability to customize query string format for lists HOT 5
- i want to show the received gmail in react js app
- AutoComplete choice listing issue when using useChoicesContext HOT 1
- react admin error with Menu.Item missing properties HOT 6
- storeKey prop is not passed to useRecordSelection hook inside useListController HOT 5
- useEditContext returns null for both values HOT 5
- Infinite loop occurs in page rendering when perPage is set to a negative number in List Component HOT 2
- Codemods are not included in ra-core v5
- Duplicate entries in documentation search HOT 2
- `<PasswordInput/>` or `<TextInput/>` has corrupted `validate` prop, if field is handled with `disabled` prop HOT 4
- Auth provider login Promise rejection with "message" doesn't trigger notification message 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-admin.