小编ANi*_*120的帖子

组件定义缺少forwardRef的显示名称

我正在按照本教程使用React.forwardRef,在哪里制作此组件:

import React from "react";

const Search = React.forwardRef<HTMLInputElement>((props, ref) => {
  return <input ref={ref} type="search" />;
});

export default Search;
Run Code Online (Sandbox Code Playgroud)

但是,运行我的应用程序时,该组件会导致以下错误:

Component definition is missing display name  react/display-name
Run Code Online (Sandbox Code Playgroud)

基于这个问题,我想我可能会做这样的事情:

Component definition is missing display name  react/display-name
Run Code Online (Sandbox Code Playgroud)

但这也没有解决问题。

那么,我怎样才能给我的组件一个显示名称呢?

reactjs

97
推荐指数
5
解决办法
7万
查看次数

在 Rust 中如何删除目录中的所有文件而不是目录本身?

如何删除目录中的所有文件而不删除目录本身?

我以为这会起作用,但它给出了一个错误:

for entry in std::fs::read_dir("tmp/my_items") {
    std::fs::remove_file(entry);
}
Run Code Online (Sandbox Code Playgroud)
the trait `AsRef<std::path::Path>` is not implemented for `ReadDir`
Run Code Online (Sandbox Code Playgroud)

rust

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

无法将内部价值移出弧锈

我正在尝试检索FLTK-RS Widget周围的 Arc Mutex 包装器的内部值:

pub struct ArcWidget<T: Clone + WidgetExt + WidgetBase>(Arc<Mutex<T>>);


impl<T: Clone + WidgetExt + WidgetBase> ArcWidget<T>{    
    pub fn widg(&self)->T{
        let lock = self.0.clone();
        let lock2 = lock.into_inner().unwrap();
        lock2
    }
    pub fn redraw(&self){
        let mut widg = self.0.lock().unwrap();
        widg.redraw();
    }
}
Run Code Online (Sandbox Code Playgroud)

然而这会导致错误:

let lock = self.0.into_inner().unwrap().clone(); 
cannot move out of an `Arc` - move occurs because value has type `Mutex<T>`, which does not implement the `Copy` trait
Run Code Online (Sandbox Code Playgroud)

我认为添加Clone特征限制可以解决这个问题,但显然没有。我该如何解决这个错误?WidgetExt+WidgetBase与 不兼容 …

rust

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

VSCode 箭头滚动速度

在 VSCode 中,可以使用箭头键滚动编辑器来向上或向下移动光标的位置。

有没有什么方法可以调整基于箭头的滚动速度而不涉及增加键盘输入重复率?

Windows 10 VSCode 1.64.2

visual-studio-code

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

使用 Rust,打开文件上的资源管理器

如果想在文件资源管理器中显示文件或使用 OSX 上类似的“在 Finder 中显示”功能,如何在 Rust 中做到这一点?有没有一个箱子可以帮忙?

fn main(){
   reveal_file("tmp/my_file.jpg")
   //would bring up the file in a File Explorer Window
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找类似于python 解决方案的东西。

windows macos rust

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

将 Rust 中的浮点值限制为最小/最大范围

给定一些任意浮点值,将该值限制在最小/最大范围的惯用方法是什么?即,如果您提供的值低于最小值,则返回最小范围值,如果您提供的值大于最大值,则返回最大范围值。否则返回原始浮点值。

我认为这种方法可行,但它没有给我正确的值:

fn main(){
    dbg!(min_max(150.0, 0.0, 100.0));
    //because 150.0 is greater than 100.0, should return 100.0
    //currently returns 0.0
    dbg!(min_max(-100.0, 0.0, 100.0));
    //becuase -100.0 is below the minimum value of 0.0, should return 0.0
    //currently returns 0.0
}

fn min_max(val: f32, min: f32, max: f32)->f32{
    return val.max(max).min(min);
}    
Run Code Online (Sandbox Code Playgroud)

操场

rust

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

Serde::Deserialize 的实现不够通用

我在我的应用程序中使用event_emiter_rs进行事件处理。该库允许您通过回调订阅事件并触发这些事件。事件采用(字符串,值)的形式,回调采用接受值参数的闭包的形式。通过事件回调发送的值必须实现 Serde::Deserialize。我们可以在文档中看到这一点。所以我创建了这个简单的设置:

use event_emitter_rs::EventEmitter;
use serde::Serialize;
use serde::Deserialize;
use std::borrow::Cow;

#[derive(Clone, Serialize, Deserialize, Debug)]
#[serde(bound(deserialize = "'de: 'static"))]
//#[serde(bound(deserialize = "'de: 'a"))] using the 'a lifetime gives same error
pub struct DraggableInfo<'a>{
    parent: WidgetValue<'a>,
    index: WidgetValue<'a>,
    draggable_id: WidgetValue<'a>,
}

impl<'a> DraggableInfo<'a>{
    pub fn new(parent: &'static str, index: u32, draggable_id: &'static str)->Self{
        DraggableInfo{
            parent: WidgetValue::CString(Cow::Borrowed(parent)),
            index: WidgetValue::Unsized32(index),
            draggable_id: WidgetValue::CString(Cow::Borrowed(draggable_id)),
        }
    }
}

#[derive(Clone, Serialize, Deserialize, Debug)]
pub enum WidgetValue<'a>{
    Integer32(i32),
    Unsized32(u32),
    CString(Cow<'a, str>)
}

fn main(){
    let …
Run Code Online (Sandbox Code Playgroud)

rust serde

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

TypeScript“声明”字段必须首先由 @babel/plugin-transform-typescript 进行转换

当尝试构建我的反应应用程序时,我收到错误TypeScript 'declare' fields must first be transformed by @babel/plugin-transform-typescript.。但我不明白为什么,因为我正在使用@babel/preset-typescript. 我该如何修复这个错误?

//craco.config.js
const path = require("path");
const CracoAlias = require("craco-alias");

module.exports = {
  webpack: {
    configure: {
      module: {
        rules: [
          {
            type: "javascript/auto",
            test: /\.mjs$/,
            include: /node_modules/,
          },
        ],
      },
    },
  },
  plugins: [
    {
      plugin: CracoAlias,
      options: {
        source: "tsconfig",
        baseUrl: "./src",
        tsConfigPath: "./tsconfig.path.json",
      },
    },
  ],
  style: {
    postcss: {
      plugins: [require("tailwindcss"), require("autoprefixer")],
    },
  },
  babel: {
    presets: [
      "@babel/preset-typescript",
      "@babel/preset-react",
      "@babel/preset-env",
    ],
    plugins: …
Run Code Online (Sandbox Code Playgroud)

babeljs

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

如何处理“范围内有多个适用项目”错误?

我正在使用fltk-rs板条箱并遇到“范围内多个适用项目”错误。

fltk = "0.10.14"
Run Code Online (Sandbox Code Playgroud)
use fltk::{table::*};

pub struct AssetViewer {
    pub table: Table, 
}

impl AssetViewer {
    pub fn new(x: i32, y: i32, width: i32, height: i32) -> Self {
        let mut av = AssetViewer {
            table: Table::new(x,y,width-50,height,""),

        };
        av.table.set_rows(5);
        av.table.set_cols(5);
        av
    }
    pub fn load_file_images(&mut self, asset_paths: Vec<String>){
        self.table.clear(); //<- throws multiple applicable items in scope
    }
}
Run Code Online (Sandbox Code Playgroud)

给出错误:

use fltk::{table::*};

pub struct AssetViewer {
    pub table: Table, 
}

impl AssetViewer {
    pub fn new(x: …
Run Code Online (Sandbox Code Playgroud)

rust

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

创建自定义彩色 dbg!Rust 中的宏

我想创建一个类似于标准dbg的自定义宏macro,但可以选择通过彩色板条箱使用颜色。dbg!通常以以下格式打印一些东西

[path_to_file:line_number] "symbol name" = "symbol value"
//[src/gallery/image_slot.rs:231] "my_integer_value_of_12" = "12"
Run Code Online (Sandbox Code Playgroud)
  1. 如何访问路径/行号[path_to_file:line_number]以便打印?
  2. 如何访问变量的符号名称?(即打印my_var给出my_var = 12

rust rust-macros

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