Comments (6)
Thanks for the clarifications, I agree with both of you. :)
from feliz.
Yes, Guid
is currently compiled as a string, but this (as other Fable hacks) is an implementation detail that may change in the future. Libraries shouldn't rely on this :)
However, I think before we used to erase the String()
call when converting Guid to string, but it seems it's not the case now. We could try to do that again :)
from feliz.
You are right, I have removed it from prop.text and will probably remove prop.innerText
altogether
from feliz.
Hm... After more research, I am thinking that perhaps anything that accepts string
should also accept Guid
. The reason is that a Guid
is represented in JS by a string
(see Fable compatibility docs). So AFAIK there is actually no conversion; you can simply unbox a Guid
as a string
and it will always work, no explicit stringifying or parsing involved. (Is that right, @alfonsogarciacaro?)
What do you think?
The same could be said for char
too, since that's represented by string
.
from feliz.
It's dangerous to base your library implementation on the internal representation of the types. For example, yes today Guid
is represented as string
but nothing guarantee that tomorrow it will not be represented by a class.
I think it already happened in the past were decimal were represented using string
or number
and now we have a class for them and was even considered to use WebAssembly to represents them.
PS: My example can be wrong I didn't check all the facts :) but you get the idea :)
So even if you add Guid
or char
variant of the helpers, my advice is to avoid "hack" like unbox
and use guid.ToString()
or string charValue
.
from feliz.
@cmeeren The reasons for not using Guid is not because to save the computation of stringifying it but rather because of the points you mentioned above, it doesn't make much sense and for this example as well, I would rather wait for a good use-case where a user really needs this thing over calling string guid
from feliz.
Related Issues (20)
- ReactComponentAttribute for props list HOT 2
- Q: Documentation on breaking changes in 2.6? [WAS Updating Feliz.UseListener to Feliz 2.6.0] HOT 4
- CSS overflow-anchor property HOT 1
- Error with Feliz 2.7 HOT 2
- Making UseElmish's dispatch function stable
- Feliz.Markdown escapeHtml doesn't seem to work HOT 1
- UseElmish: Failed to resolve import "use-sync-external-store/shim" HOT 3
- `react-markdown` removes the `escapeHtml` property HOT 1
- Clarification and Potential Improvement on PR #480 useEffectOnce behavior HOT 5
- Expanding Feliz.Rechart HOT 3
- Component created with a forwardRef that has generic type parameters loses state HOT 2
- "Directory import use-sync-external-store\shim is not supported" in UseElmish.fs.js HOT 2
- Use with Elmish documentation is lacking integration HOT 2
- Enhance Handling of F# Record Types as Props in ReactComponent Attribute HOT 4
- Explore if Feliz.CompilerPlugin can support POJO made using `[<ParamObject>]`
- prop.pattern produces invalid html HOT 4
- React 19 HOT 4
- Svg attribute `fill-rule` missing
- Update tests and move to github actions [Contributions Welcome]
- Doc changes havent been pushed to site 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 feliz.