小编pic*_*ips的帖子

返回 input 或 textArea 的元素的 React/Typescript forwardRef 类型

我正在尝试使用 react 和 typescript 为我们的应用程序创建一个通用的文本输入组件。我希望它能够成为基于给定道具的输入元素或 textarea 元素。所以它看起来有点像这样:

import {TextArea, Input} from 'ourComponentLibrary'

export const Component = forwardRef((props, ref) => {
  const Element = props.type === 'textArea' ? TextArea : Input

  return (
    <Element ref={ref} />
  )
})
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常。然而,当试图合并类型时,它变得有点冒险。ref 类型应该是HTMLInputElementHTMLTextAreaElement基于传递的typeprop。在我的脑海中,它看起来像这样:

interface Props {
  ...
}

export const Component = forwardRef<
  HTMLInputElement | HTMLTextAreaElement,
  Props
>((props, ref) => {
  ...
});
Run Code Online (Sandbox Code Playgroud)

但是我知道这不完全是我需要的。因此,错误: Type 'HTMLInputElement' is missing the following properties from type 'HTMLTextAreaElement': cols, rows, textLength, wrap …

typescript reactjs react-ref react-forwardref

9
推荐指数
2
解决办法
3406
查看次数

React 项目 - 节点模块中的扩展运算符意外令牌

我正在构建一个 React 应用程序,我正在导入一个使用扩展运算符的节点模块,但...在此运算符处出现错误“模块解析失败:意外令牌 (100:6)”。我怎样才能让它发挥作用?

谢谢

ecmascript-6 reactjs spread-syntax

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

c#XNA或c ++ directX11将来会怎样?

我最近开始学习XNA,非常喜欢它,它是托管代码.然而,在做了一些阅读后,似乎对于Windows 8和Windows 8手机XNA将不会更新以使用这些新功能,并且Directx11将是使用的.

那么,有谁知道这是真的吗?我不知道任何c ++,但我对c#相当自信,所以我想坚持使用XNA,但如果未来将使用c ++和Directx,我现在应该切换一下?如果我知道c#,学习c ++还有多难?

如果案例是directX是未来的方式,我可能只是团结一致,所以我可以继续使用c#.

非常感谢任何有关此主题的帮助,非常感谢

c# c++ xna

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

c ++ 11新功能,正确使用shared_ptr?

所以我的理解是,当对象的最后一个剩余所有者被销毁或重新分配时,shared_ptr会自动从内存中释放出来(看起来太好了?)当许多实例可能共享同一个对象时它很有用.正确?

所以在我的情况下,我正在制作一个2d平铺世界,所以我在屏幕上绘制了许多相同的纹理.

我有

std::map<int, shared_ptr<Tile>> Tiledb;
Run Code Online (Sandbox Code Playgroud)

存储所有瓷砖.我的想法是只加载一次纹理,然后我可以根据需要多次渲染它.然后一旦游戏结束,我就打电话

Tiledb.clear();
Run Code Online (Sandbox Code Playgroud)

这会自动释放所有内存吗?我很习惯于常规指针,这看起来很神奇,坦率地说,太容易了.我认为它是如何工作的我错了吗?使用shared_ptrs有什么缺点吗?哈哈,我感到很惊讶.

感谢您提供任何信息.

c++ smart-pointers shared-ptr c++11

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

Qt为什么在QLocale().toString()上使用QString :: number()?

我正在开发的应用程序将在许多国家推出,需要支持他们的语言.我一直在回顾我的代码并替换每个实例:

QString::number()QString().toDouble()

QLocale().toString()QLocale().toDouble()

我没有找到很多在线比较两个类,但我感兴趣的是使用后者的影响,如果没有 - 为什么要使用这些QString功能?

基本上我只想确保在进行所有这些更改之前我不会损害我的代码.有没有人有任何知识?

qstring qt tostring type-conversion qlocale

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