Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #30

Open
realvictorprm opened this issue Jun 4, 2017 · 5 comments
Open

Documentation #30

realvictorprm opened this issue Jun 4, 2017 · 5 comments

Comments

@realvictorprm
Copy link

The in editor documentation is dense. Couldn't we add some documentation?

@alfonsogarciacaro
Copy link
Member

This is mostly bindings for React with some very minor deviations to make things a bit more idiomatic from F#, so the extensive React documentation also applies here. Which kind of documentation would you like to see?

@voronoipotato
Copy link

voronoipotato commented Jun 6, 2017

I'd like to see an element being created, used in a component, and the component being rendered. Preferably with a "Stateless React Component". Something like this.

const destination = document.querySelector('#container');
const Title = (props, context) => <h1> Hello {props.name}! </h1>;
ReactDom.render(<Title name={"Voronoi Potato"} />, destination );

How would this look in fable-react?

@alfonsogarciacaro
Copy link
Member

@voronoipotato The react-todomvc sample shows how to define React components with functions :)

@voronoipotato
Copy link

voronoipotato commented Jun 13, 2017

so my example would be something like?

module R = Fable.Helpers.React
open R.Props

type titleProp = {name:string}
let destination = Browser.document.querySelector("#container")
let Title props = R.h1 [][R.str ("Hello " + props.name)]
ReactDom.render(Title {name="alfonso"}, destination )

If this is correct could you put it on the fable react Readme.MD so that people can get the gist of the patterns without having to go through the example app? It's tough to understand something you don't have context for, going through a full fledged example can be a bit of information overload and it's definitely not identical to how javascript does it. It wasn't obvious that there was an example app so a link to that might also be good. Thanks of course for your contributions, but I do want to use my inexperience to help you understand what is hard for a novice.

@alfonsogarciacaro
Copy link
Member

Absolutely, your comments are very helpful, thank you! 👏

We're releasing the stable Fable 1.1 soon so we can focus more on documentation. Of course, it's also very helpful if you could PR to the documents with the things that you felt missing (you can leave some TODOs in your PR with questions but for the things you're unsure about).

Your sample should be right. I think you're only missing R.fn in the last line:

ReactDom.render(R.fn Title {name="alfonso"}, destination )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants