Comments (10)
I can try and take a look at it later tonight for sure
from fable-react-native.
Hi @thitemple! On a first look it seems you need to import the default member:
// JS: Note this is importing the default member, you can give it any name
import MapboxGL from '@mapbox/react-native-mapbox-gl'
// In F# becomes...
ofImport "default" "@mapbox/react-native-mapbox-gl" ...
// JS: On the other hand, if you're importing a member you do need to use the proper name. Note the braces.
import { MapboxGL } from '@mapbox/react-native-mapbox-gl'
// In F# becomes...
ofImport "MapboxGL" "@mapbox/react-native-mapbox-gl" ...
More info here. This is a common source of confusion, maybe we need to change the importing mechanism but I'm not sure what would be the best solution. Unfortunately we cannot type check JS imports from F#/Fable.
About the build script, it's been a while since I haven't done anything with react-native so I'm not sure. Maybe @forki or @et1975 can help?
from fable-react-native.
One thing I'm seeing is that sometimes (and I'm using a clone of the Nightwatch template) when I change the Styles.fs file, fable does not trigger a compilation, I have to change some other file like Home.fs for that to happen.
from fable-react-native.
from fable-react-native.
change the Styles.fs file, fable does not trigger a compilation
Used to be cool to inline the styles for some reason, fable splitter doesn't seem to notice if all you change is inlined function. Just remove any inline
you see and the watch should start recompiling on save.
from fable-react-native.
from fable-react-native.
@forki As you wish SAFE-Stack/SAFE-Nightwatch#60
Now, I don't understand why does that fix the issue. Could you explain it to me, please? Or point me to something I can read about it?
from fable-react-native.
from fable-react-native.
Sorry I didn't check this issue. Inlining is for some optimizations (like creating the styles object at compile time when possible instead of building it at runtime). fable-loader (webpack) marks files importing an inline function as dependencies so they get recompiled if you change the function. I think fable-splitter doesn't do it yet. If you want you can open an issue in Fable repo for it... or better yet send a WIP PR and we do it together!
from fable-react-native.
Sorry! I was wrong, I just remembered we're not adding dependencies in fable-loader anymore (reference: fable-compiler/Fable#1241). This is done on the .NET side of Fable now. If your project is using a recent Fable version, I guess the problem may be that fable-splitter doesn't get to watch the files containing the inline functions, so editing that file doesn't trigger a recompilation.
I need to look better into this, but maybe changing compiledPaths
with projectFiles
in this line may help.
from fable-react-native.
Related Issues (20)
- How to get user's current position? HOT 2
- Missing currentHeight static property for StatusBar HOT 2
- Question about ResizeArrays HOT 2
- Working with gestures HOT 2
- Fable 2.0 support HOT 4
- Error: Cannot infer key and value ... HOT 2
- TextInputAndroidProperties HOT 1
- Not possible to have multi styled text HOT 1
- Fable.Core 3 support HOT 6
- Convert Fable.Import.ReactNativePopupMenu to Fable.Core 3 HOT 1
- Is the new Hermes AOT JS Compiler from Facebook useful or applicable for fable-react-native on android? HOT 1
- Split "extra" modules into their own packages HOT 7
- Please add details about how to use the bindings HOT 11
- yarn add --dev fable-splitter fable-compiler + Incorrect peer dependency HOT 2
- Why are breaking changes increment the PATCH number of the package? HOT 8
- Hooks and function components? HOT 2
- In new app, getting error: "React.createElement: type is invalid..." HOT 1
- Xcode chokes on .fable directory HOT 8
- ImageStore, ImageEditor not in React Native anymore HOT 3
- Fable 4 incompatibility HOT 3
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 fable-react-native.