【问题标题】:cannot find handleselect react-date-range找不到句柄选择反应日期范围
【发布时间】:2021-08-21 10:14:28
【问题描述】:

我正在使用 react-date-range 开发一个关于 React js 的项目。如果有人可以提供帮助,它会引起一些问题。

我已经使用这些命令安装了第一个 react-date-range : npm 安装反应日期范围 & npm install --save react-date-range

但是当我将它导入执行时,它下面会显示一条红线: 从 'react-date-range'

导入 {DateRangePicker}

handleSelect 函数也显示错误, 这是没有导入语句的代码的第一部分:

const PageHeader: React.FC = () => {
    const selectionRange = {
        startDate: new Date(),
        endDate: new Date(),
        key: 'selection',
    }
    handleSelect(ranges){
        console.log(ranges);

    }

这部分显示错误:

*handleSelect(范围){ 控制台日志(范围);

}*

这是它下面的代码的第二部分:

return (
    <Row>
      <Col span={24}>
        <div className="page-title">
            <b>Charts</b>
        </div>
          <DateRangePicker
              ranges={[selectionRange]}
              onChange={this.handleSelect}
          />
      </Col>

这部分显示错误:

          *onChange={this.handleSelect}*

请注意文件的扩展名是tsx

提前致谢

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    看来你打错了:

    function handleSelect(ranges){ // add the function keyword
         console.log(ranges);
    }
    

    或者:

    const handleSelect = (ranges) => { // add the arrow function assignment 
         console.log(ranges);
    }
    

    另外,我看到您不在类组件中,因此您不需要 this 关键字。

    onChange={handleSelect} // right here
    

    【讨论】:

    • 它显示参数范围隐含任何类型,感谢您的回答
    • 在控制台中显示正确的范围值,但有很多控制台错误;还有日历的输出
    【解决方案2】:

    因为你使用的是函数组件,所以我们需要声明handleSelect,我们不使用this关键字。

    const handleSelect = (ranges: Array<Date>) => {
        console.log(ranges);
    }
    
    onChange={handleSelect}
    

    【讨论】:

    • 配合什么语法。要声明函数变量,您需要提供箭头语法。或者在名称前添加 function 关键字以使用常规函数声明
    • 谢谢,但还是显示错误,我在return之前写好了吗?
    • 它向我显示参数范围隐含地具有任何类型
    • 更新类型数据后,它不再显示错误,唯一的错误仍然在 import 语句中,即使它输出日期范围选择器,在 react-date-range 下它显示错误
    猜你喜欢
    • 2020-10-12
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多