Open Mark-Abadir opened 4 years ago
Not yet - see discussion here: https://github.com/plotly/dash/issues/719
Dash-table is written in typescript; there we simply give a plain js wrapper that restates the types using the prop-types
package - not ideal but that's the best answer at the moment.
Hey, I wanted to give a bit of a background of what I know before I started to ask some questions. Essentially, I'm a student who has a background in hardware, have spent a lot of time writing firmware and tools in Python, C, and C++. I've recently started to look into learning web-development, so in general, I've started to play around in React, Javascript, and more. So I'm definitely on the outer bounds of my comfort zone here. If I don't understand something, or if you think there's something I may not understand, please dumb it down for me. Also, this is the first time I've written an issue so if there is a better way to do this, let me know.
My goal is to make a website hosting diagrams. Essentially, I found this diagram tool from a git repo, I thought it looked nice and it has a lot of the features that I'm looking for. Just to remind you, I had no background in React, Javascript, or any other web-development language prior to this. However, I was able to start developing the diagrams in the format that I wanted, which so far has been great.
Now that I have the diagrams, I wanted to integrate it into a pre-existing website I have. Obviously, doing the conversion from React to Dash is not a direct transfer, which is why this boilerplate code exists. Now here's a couple of the problems I've started to see:
I've spent some time over the last few days to read up on this boilerplate tool from the docs (https://dash.plotly.com/react-for-python-developers, https://dash.plotly.com/plugins) as well as a random article I found about it https://markgituma.medium.com/adding-custom-components-to-python-dash-cfafdbfb22f9. However, there are things I'm still confused about:
{{cookiecutter.component_name}}.react.js
, is there anything else I need to do manual labor of when converting? Perhaps for callbacks?{{cookiecutter.component_name}}.react.js
file created in src/lib
, do I need to create a similar file holding all the propTypes for each component that is defined in this react repo? So if I have a component on the top level, and I have a nested component, will that nested component need its own file?Sorry for all of these questions, I realize this post is rather long... If there's a piece of documentation I did not see, please let me know about it, especially if you have any examples you could provide to me. Hoping to hear back
Welcome @mkhan825 - I'll answer a bit here, but I encourage you to check out https://community.plotly.com/ - that's the best place to ask questions like this, and many of them have likely already been answered there 😄
dash-table has moved here: https://github.com/plotly/dash/tree/dev/components/dash-table so the wrapper referred to above is now here: https://github.com/plotly/dash/blob/dev/components/dash-table/src/dash-table/dash/DataTable.js
You'll see that propTypes
and defaultProps
are both there, and attached to the top-level component
The component props (as described in propTypes
) are intended to describe the complete state of the component, except for very transient interaction state such as hover effects, whether a dropdown/menu is open, that sort of thing.
I have a react component written in typescript. Is there any way to use the boilerplate to create a dash component out of my typescript component?