当前位置: 首页 > 知识库问答 >
问题:

可转换为数字的字符串的PropType?

汪信鸥
2023-03-14

是否有接受数字字符串的道具类型?如果我将prop直接传递给DOM元素,它不关心我是否使用prop={1}或prop="1",但是除了使用自定义回调之外,我如何制作一个接受它的匹配PropType?

我之前问过这个问题,但它作为React PropTypes的副本关闭了:允许一个prop使用不同类型的PropTypes,但我对接受任何字符串都不感兴趣-我只希望字符串被解析为数字。

共有1个答案

岳风畔
2023-03-14

我只需要解析为数字的字符串。

这是可能的使用自定义验证程序为您的道具。

const App = (props) => {
  return <span>{props.number}</span>
}

App.propTypes = {
  number: function (props, propName, componentName) {
    // Check if not a number.
    if (isNaN(props[propName])) {
      return new Error(
        "Invalid prop `" +
          propName +
          "` supplied to" +
          " `" +
          componentName +
          "`. Validation failed."
      );
    }
  }
}

ReactDOM.render(
  <App number="a" />, // error
  document.getElementById("root")
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<div id="root"></div>
 类似资料:
  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 我想比较两个表达式。我从数据库中获得了数字字符串形式的数据数组,我需要将其转换为数字,然后再使用ngClass为样式设置提供条件。如何转换此类型。有什么想法吗?

  • 问题内容: 我使用strtod()函数将环境变量提取为字符串,然后使用strtod将其更改为double: 现在,我要确保用户输入的此数字是数字,而不是字符串或特殊字符。我如何确定呢? 代码段将有很大的帮助。 提前致谢。 问题答案: 该函数的第二个参数很有用。 编辑:添加示例 该函数尝试将第一个参数的初始部分转换为双精度,并在没有更多字符或无法使用双精度字符的情况下停止。

  • 我展示了一个包含JSON的数组,并直接用超文本标记语言展示了这个数组,在这里你可以找到。它给NaN作为输出。 这是我的超文本标记语言:

  • 所以我是计算机科学的新手,我们被要求做的一件事是尝试创建一个程序,首先将用户输入的一个单词转换成一个数字串,a=1,b=2,z=26等等,还有一些其他的事情,因为它们是扩展,我现在不想讨论。诚然,她说她不介意我们完成它,因为这是我们今天的第一节java课程。 有鉴于此,有人能给我一些关于如何做到这一点的建议吗?我不想让一段完整的代码完全做到这一点,因为我需要学习,因此非常感谢指导之手。到目前为止,

  • 问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或