Forum Discussion
react
Has anyone used React to develop a custom visual? I'm running into various problems in getting started. Namely, I'm gettting typescript errors on the typings for react and react-dom as well as not generating a visual with the appropriate GUID as a property.
- Anonymous9 years ago
I got this workaround from David Tittsworth...Thanks!
Add a global.js file with contents:
var React = window.React;
var ReactDOM = window.ReactDOM;
and then in pbiviz.json, add a reference to the global.js file in externalJS at the bottom.
This works!
8 Replies
- v-viigCommunity Champion
Hello Anonymous,
As far as I know Network Navigator uses React. However, it based on the legacy API.
In other words, you might face some issues using React with the new Power BI Custom Visuals API.
Could you please send an error message to investigate the issue that you have faced?
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
- AnonymousNot applicable
My first problem was getting 'pbiviz start' to compile the visual. I kept getting this error:
error TYPESCRIPT /visualPlugin.ts : (8,110) Property 'PBI_CV_1DD29A27_0A88_4642_A960_1B0EEF3F48C2' does not exist on type 'typeof visual'. (The GUID is the one that I specify in my pbiviz.json file for the visual's guid.
I'm not sure where the guid get's appended to the visual, but it wasn't doing that when I changed the visual.ts file to visual.tsx.
I was able to get around that by explicitly naming my module the following:
module powerbi.extensibility.visual.PBI_CV_1DD29A27_0A88_4642_A960_1B0EEF3F48C2That's not a great solution though as it doesn't automatically recompile on changes.My next (and current) problem is that in my visual's update routine, I'm calling a ReactDOM.render, and it doesn't seem to be rendering anything. (I've tried something simple -ReactDOM.render(<div> This is a test </div>, this.target); but that's not working. It might be the way that I'm loading the react-library, which is in pbiviz.json under external files.Still debugging, and unfortunately, it looks like the old network navigator does use the legacy API.If anybody has a solution, that would be great, if not, I'll post what I find...--Steven- AnonymousNot applicable
I've verified that the problem is that React and ReactDOM are not being added correctly even though I've added the files to the externalJS line of pbivis.json. Not sure why this isn't working. Any opinions?
- MuesliAdvocate I
I know your issue is about 6 month old but i am having the problem but right at the beginning.
Could you help to install react?
Did you install it over "npm install --save react" and "typings install --save dt~react" and how did you added all togther in your pbiviz.json and tsconfig.json?(if you can it would be cool to see your source code <3)
Greetings- v-viigCommunity Champion
Hello Muesli
Please take a look at powerbi-visuals-react-sample as an example.
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals