how to to insert TradingView widget into react js which is in script tag link: https://www.tradingview.com/widget/market-overview/

前端 未结 4 952
星月不相逢
星月不相逢 2021-01-13 10:48
export default class extends Component {
    render() {
        return (
            
{ /***
相关标签:
4条回答
  • 2021-01-13 11:21
    export default  class Tabsshow extends React.PureComponent {
        constructor(props) {
            super(props);
            this._ref = React.createRef();
        }
     componentDidMount() {
            const script = document.createElement('script');
            script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-market-overview.js'
            script.async = true;
            script.innerHTML = /* JSON-ENCODED SETTINGS STRING FROM EMBED CODE */
            this._ref.current.appendChild(script);
        }
        render() {
            return(
            <div class="tradingview-widget-container" ref={this._ref}>
                <div class="tradingview-widget-container__widget"></div>
               
            </div>
            );
        }
       
    }
    
    0 讨论(0)
  • 2021-01-13 11:23

    Use the following library:

    https://github.com/rafaelklaessen/react-tradingview-widget

    import TradingViewWidget, { Themes } from 'react-tradingview-widget';
    
    const App = () => (
      <TradingViewWidget
        symbol="NASDAQ:AAPL"
        theme={Themes.DARK}
        locale="fr"
        autosize
      />
    );
    
    0 讨论(0)
  • 2021-01-13 11:28

    This should work in your case

    class App extends  React.Component {
    
        componentDidMount() {
            const script = document.createElement('script');
            script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-market-overview.js'
            script.async = true;
            script.innerHTML = JSON.stringify({ /* JSON object */})
            document.getElementById("myContainer").appendChild(script);
        }
    
        render() {
            return(
          <div id="myContainer">
            <div className="tradingview-widget-container">
               <div className="tradingview-widget-container__widget">
                </div>
            </div>
         </div>
            );
        }
        }
    
    0 讨论(0)
  • 2021-01-13 11:29

    I suggest you to use React Helmet

    Below is a given demo:

    import React from "react";
    import {Helmet} from "react-helmet";
    
    class Application extends React.Component {
      render () {
        return (
            <div className="application">
                <Helmet>
                    <meta charSet="utf-8" />
                    <title>My Title</title>
                    <link rel="canonical" href="http://example.com/example" />
                </Helmet>
                ...
            </div>
        );
      }
    };
    

    You can also add your script in your code. Let me know if it helps you.

    EDITED

    In your case, you can do the following:

    import React from "react";
    import {Helmet} from "react-helmet";
    export default class MyPro extends Component {
        render() {
            return (
                <Helmet>
                   <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-market-overview.js" async>
                   {`
                    {
                        "showChart": true,
                        "locale": "en",
                        "largeChartUrl": "",
                        "width": "400",
                        "height": "600",
                        "plotLineColorGrowing": "rgba(60, 188, 152, 1)",
                        "plotLineColorFalling": "rgba(255, 74, 104, 1)",
                        "gridLineColor": "rgba(233, 233, 234, 1)",
                        "scaleFontColor": "rgba(214, 216, 224, 1)",
                        "belowLineFillColorGrowing": "rgba(60, 188, 152, 0.05)",
                        "belowLineFillColorFalling": "rgba(255, 74, 104, 0.05)",
                        "symbolActiveColor": "rgba(242, 250, 254, 1)",
                        "tabs": [
                            {
                            "title": "Indices",
                            "symbols": [
                                {
                                "s": "INDEX:SPX",
                                "d": "S&P 500"
                                },
                                {
                                "s": "INDEX:IUXX",
                                "d": "Nasdaq 100"
                                },
                                {
                                "s": "INDEX:DOWI",
                                "d": "Dow 30"
                                },
                                {
                                "s": "INDEX:NKY",
                                "d": "Nikkei 225"
                                },
                                {
                                "s": "INDEX:DAX",
                                "d": "DAX Index"
                                },
                                {
                                "s": "OANDA:UK100GBP",
                                "d": "FTSE 100"
                                }
                            ],
                            "originalTitle": "Indices"
                            },
                            {
                            "title": "Commodities",
                            "symbols": [
                                {
                                "s": "CME_MINI:ES1!",
                                "d": "E-Mini S&P"
                                },
                                {
                                "s": "CME:E61!",
                                "d": "Euro"
                                },
                                {
                                "s": "COMEX:GC1!",
                                "d": "Gold"
                                },
                                {
                                "s": "NYMEX:CL1!",
                                "d": "Crude Oil"
                                },
                                {
                                "s": "NYMEX:NG1!",
                                "d": "Natural Gas"
                                },
                                {
                                "s": "CBOT:ZC1!",
                                "d": "Corn"
                                }
                            ],
                            "originalTitle": "Commodities"
                            },
                            {
                            "title": "Bonds",
                            "symbols": [
                                {
                                "s": "CME:GE1!",
                                "d": "Eurodollar"
                                },
                                {
                                "s": "CBOT:ZB1!",
                                "d": "T-Bond"
                                },
                                {
                                "s": "CBOT:UD1!",
                                "d": "Ultra T-Bond"
                                },
                                {
                                "s": "EUREX:GG1!",
                                "d": "Euro Bund"
                                },
                                {
                                "s": "EUREX:II1!",
                                "d": "Euro BTP"
                                },
                                {
                                "s": "EUREX:HR1!",
                                "d": "Euro BOBL"
                                }
                            ],
                            "originalTitle": "Bonds"
                            },
                            {
                            "title": "Forex",
                            "symbols": [
                                {
                                "s": "FX:EURUSD"
                                },
                                {
                                "s": "FX:GBPUSD"
                                },
                                {
                                "s": "FX:USDJPY"
                                },
                                {
                                "s": "FX:USDCHF"
                                },
                                {
                                "s": "FX:AUDUSD"
                                },
                                {
                                "s": "FX:USDCAD"
                                }
                            ],
                            "originalTitle": "Forex"
                            }
                        ]
                        }
                   `}
                    </script> 
                </Helmet>
            )
        }
    }
    
    0 讨论(0)
提交回复
热议问题