小编Jam*_*y01的帖子

如何在打字稿中使用“useContext”?

我正在尝试在我的项目中制作一个深色/浅色主题系统,但我的代码遇到一些问题。

这行代码在 javascript 中运行良好:

const [darktheme, setDarkTheme] = useContext(ThemeContext);
Run Code Online (Sandbox Code Playgroud)

但是当我将其写入打字稿时,出现 6 个错误。

我知道其中一些变量需要声明其类型,但我只知道 darkTheme 变量的类型,它是一个布尔值。

声明类型后,2 个错误消失了,但仍然有 4 个错误!

const [darktheme: boolean, setDarkTheme: any] = useContext(ThemeContext);
Run Code Online (Sandbox Code Playgroud)

我使用了任何天黑后的主题,这不是一个好的做法,但我不知道类型

现在我收到这些错误: 在此输入图像描述

在此输入图像描述

我认为我的项目的主要问题是我试图将 javascript 与 typescript 集成。我不知道这是否正常,但我这样做是因为有些组件用 typescript 编写起来要容易得多,而一些更基本的组件用 javascript 编写更好。

这是我的 app.js 的一部分:

// Context

export const ThemeContext = React.createContext();

function App() {
  const [darkTheme, setDarkTheme] = useState(false);

  return (
    <ThemeContext.Provider value={[darkTheme, setDarkTheme]}>
Run Code Online (Sandbox Code Playgroud)

,当我在这个组件中使用该函数时,它工作得很好:

import React, { useContext } from 'react';
import { ThemeContext } from '../App';

import Button from 'react-bootstrap/Button';

export default …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs use-state use-context

2
推荐指数
1
解决办法
1578
查看次数

您可以在使用 React JS 的 Tauri 应用程序上使用 React Developer Tools 吗?

我已经使用 React JS 一段时间了,您可以获得的最有用的东西之一就是这个扩展:https: //chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi? hl=en。它可以调试组件的状态,并且基本上向您显示 React js 组件树,而不仅仅是 html dom 元素。它对于调试非常有用,但我不知道它是否可以在 tauri 应用程序上使用,同时作为桌面应用程序运行。在开发模式下,该应用程序只是在本地服务器上运行,因此我可以在 Web 浏览器中打开它来测试它(对我来说,它是 http://localhost:1420/)。不幸的是,当我在浏览器中打开它时,它无法访问后端 Rust 功能。很快,我的应用程序将完全依赖于 Rust 后端,因此除非连接到 Rust,否则前端将无法工作。这将意味着我不能使用这个老技巧,这意味着我不能再使用反应开发工具来调试,这将使调试前端变得更加困难。有什么方法可以在桌面应用程序上使用 React 开发人员工具,或者我可以以某种方式设置本地主机服务器,以便我可以使用 React 开发工具在网络浏览器中运行它,并且仍然能够访问后端 rust 功能?

debugging rust reactjs react-devtools tauri

1
推荐指数
1
解决办法
1900
查看次数