使用使用JavaScript互操作导入的JavaScript库将React应用程序移植到Blazor应用程序

我目前有一个React应用,正在尝试将其转换为Blazor WebAssembly应用。React应用程序具有导入JavaScript库的组件,可以在此处查看示例代码如果charting_library未授予访问权限,则无法访问导入的代码本身,但这不应成为回答此问题的问题。

在我的React应用程序中,按照示例代码,我有以下代码(为简洁起见):

import { widget } from '../../charting_library/charting_library.min';

export class TVChartContainer extends React.PureComponent {
  tvWidget = null;

  componentDidMount() {
    const widgetOptions = {
      // Various properties set here.
    };
    const tvWidget = new widget(widgetOptions);
    this.tvWidget = tvWidget;
  }

  render() {
    return (
      <div className={'TVChartContainer'} />
    );
  }
}

我已经阅读了有关Blazor组件Blazor JavaScript interop的文章,并尝试以与charting_library我的React应用程序相同的Blazor方式,使用JavaScript interop实现一个组件以使用我正在使用的JavaScript 因此,按照上的说明IJSRuntime,我在下面添加了charting_libraryJavaScript代码wwwroot,并将以下内容添加到index.html

<script src="charting_library/charting_library.min.js"></script>

然后Components\TradingViewChartComponent.razor,我以执行此操作的方式开始创建了一个简单的Blazor组件(),但我强烈希望自己走在完全错误的轨道上:

@inject IJSRuntime JSRuntime

<h3>TradingViewChartComponent</h3>
<div>
    @DisplayTradingViewChart()
</div>

@code {

    public async Task DisplayTradingViewChart()
    {
        await JSRuntime.InvokeVoidAsync("new widget()");
    }
}

还不清楚我如何在中使用此组件Index.razor以下导致错误:

<TradingViewChartComponent />

错误是:

“找到了带有意外名称'TradingViewChartComponent'的标记元素。如果要用作组件,请为其名称空间添加@using指令。”

它指的是模板示例文件SurveyPrompt.razor我不确定如何建立连接,但是也许在其余代码构建时会自动解决吗?这不是因为我收到了其他与jQuery有关的错误,例如“找不到'jquery'的类型定义文件”。这在charting_library代码本身之内,我想这不是React应用程序中的问题,因为create-react-app用作Visual Studio React应用程序模板的一部分的会添加必要的依赖项,例如jQuery。那么如何在Blazor应用程序中确保这种依赖性呢?

这里的主要问题是,如何像在React应用程序中一样使用Blazor应用程序中的JavaScript库?其他问题,例如包含Blazor组件Index.razor和我收到的jQuery错误,都是奖励问题,如果可以单独回答,则不需要在此处回答(我不介意为他们创建单独的问题)。

感谢任何人可以提供的任何帮助!我熟悉C#和React,但对Blazor还是陌生的,而且我的JavaScript知识很有限。

互联网

渲染Blazor应用后,应执行JavaScript组件和代码。最合适的方法是使用组件生命周期事件OnAfterRender(bool firstRender)和OnAfterRenderAsync(bool firstRender)中的JSInterop

此代码:await JSRuntime.InvokeVoidAsync("new widget()");,应放在这两种方法之一中,并会​​自动调用,例如创建和初始化JavaScript小部件。

您是否创建了此组件?<TradingViewChartComponent />我猜不,所以您怎么能尝试使用它。没有这样的组件

@DisplayTradingViewChart()呈现页面时,正在调用DisplayTradingViewChart()方法。可能会导致错误。再次使用上面的两种方法。

这是一个答案的链接,该答案演示了如何在Blazor中使用JavaScript。

希望这可以帮助...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Windows Phone 8应用程序使用F#可移植库

来自分类Dev

将WinForms应用程序移植到Mac OS

来自分类Dev

将应用程序移植到android

来自分类Dev

将CPP应用程序移植到Android

来自分类Dev

将命令行应用程序移植到Sinatra / Ruby on Rails应用程序

来自分类Dev

使用mysql数据库将Ruby on Rails应用程序部署到Heroku

来自分类Dev

在多线程C#应用程序中使用互操作的Excel文件操作失败

来自分类Dev

将Android输入移植到Java桌面应用程序

来自分类Dev

Kotlin JavaScript:捆绑在React应用程序中使用

来自分类Dev

在React应用程序中使用香草JavaScript包

来自分类Dev

将库导入逻辑应用程序Javascript代码步骤

来自分类Dev

将iPhone应用程序移植到iPad

来自分类Dev

如何使用dart2js将Dart Polymer应用程序部署到Javascript

来自分类Dev

使用应用程序ID将图像发布到Facebook应用程序

来自分类Dev

将WinForms应用程序移植到Mac OS

来自分类Dev

将应用程序从Java移植到Python

来自分类Dev

将应用程序移植到android

来自分类Dev

如何使用Typescript将模块中的控制器类绑定到Javascript应用程序中?

来自分类Dev

将应用程序移植到Google App Engine

来自分类Dev

是否可以将iOS应用程序移植到Android?

来自分类Dev

使用ActionCable将Rails应用程序部署到Heroku

来自分类Dev

在TypeScript React Web应用程序内使用javascript库

来自分类Dev

使用Wininet将Delphi 2010应用程序肥皂Web服务移植到Winhttp

来自分类Dev

使用NDK将C ++应用程序移植到Android

来自分类Dev

如何将SpringMVC应用程序移植到SpringREST?

来自分类Dev

Javascript:捕获要在Laravel应用程序的表单操作字段中使用的值

来自分类Dev

使用 Mono Compiler 将 c# winform 应用程序移植到 RaspberryPi 时出错

来自分类Dev

使用位掩码将应用程序启用的功能存储到数据库中

来自分类Dev

在 Angular 8 应用程序中使用外部 JavaScript 库

Related 相关文章

  1. 1

    从Windows Phone 8应用程序使用F#可移植库

  2. 2

    将WinForms应用程序移植到Mac OS

  3. 3

    将应用程序移植到android

  4. 4

    将CPP应用程序移植到Android

  5. 5

    将命令行应用程序移植到Sinatra / Ruby on Rails应用程序

  6. 6

    使用mysql数据库将Ruby on Rails应用程序部署到Heroku

  7. 7

    在多线程C#应用程序中使用互操作的Excel文件操作失败

  8. 8

    将Android输入移植到Java桌面应用程序

  9. 9

    Kotlin JavaScript:捆绑在React应用程序中使用

  10. 10

    在React应用程序中使用香草JavaScript包

  11. 11

    将库导入逻辑应用程序Javascript代码步骤

  12. 12

    将iPhone应用程序移植到iPad

  13. 13

    如何使用dart2js将Dart Polymer应用程序部署到Javascript

  14. 14

    使用应用程序ID将图像发布到Facebook应用程序

  15. 15

    将WinForms应用程序移植到Mac OS

  16. 16

    将应用程序从Java移植到Python

  17. 17

    将应用程序移植到android

  18. 18

    如何使用Typescript将模块中的控制器类绑定到Javascript应用程序中?

  19. 19

    将应用程序移植到Google App Engine

  20. 20

    是否可以将iOS应用程序移植到Android?

  21. 21

    使用ActionCable将Rails应用程序部署到Heroku

  22. 22

    在TypeScript React Web应用程序内使用javascript库

  23. 23

    使用Wininet将Delphi 2010应用程序肥皂Web服务移植到Winhttp

  24. 24

    使用NDK将C ++应用程序移植到Android

  25. 25

    如何将SpringMVC应用程序移植到SpringREST?

  26. 26

    Javascript:捕获要在Laravel应用程序的表单操作字段中使用的值

  27. 27

    使用 Mono Compiler 将 c# winform 应用程序移植到 RaspberryPi 时出错

  28. 28

    使用位掩码将应用程序启用的功能存储到数据库中

  29. 29

    在 Angular 8 应用程序中使用外部 JavaScript 库

热门标签

归档