4

我想将Pikaday日期选择器与 ReactJS 一起使用。它不是基于 ReactJS。我该如何使用它?

4

2 回答 2

4

要将 Pikaday 与 ReactJS 一起使用,您可以像使用任何其他节点模块一样使用它。诀窍是挂钩到 React 渲染事件,以便在渲染视图后,在您想要使用它的任何渲染 DOM 输入上初始化 Pikaday。你可以使用 ReactJS lifesystle 事件来做到这一点componentDidRender

  componentDidMount: function() {
    new Pikaday({
      field: React.findDOMNode(this.refs.start),
      format: 'MM/DD/YYYY',
      onSelect: this.onChangeStart
    });

    new Pikaday({
      field: React.findDOMNode(this.refs.end),
      format: 'MM/DD/YYYY',
      onSelect: this.onChangeEnd
    });
  }
于 2015-05-05T16:30:56.943 回答
1

为了让它在 React 16.3 中工作,我必须将你所拥有的内容更新到下面。

import React from 'react'
import Pikaday from 'pikaday'

class PikadayWrap extends React.Component {
  constructor (params) {
    super(params)
    this.myRef = React.createRef()
  }

  componentDidMount () {
    new Pikaday({
      field: this.myRef.current,
      format: 'MM/DD/YYYY',
      onSelect: this.onChangeStart
    })
  }

  render () {
    return <div>
      <input type='text' ref={this.myRef} />
    </div>
  }
}
export default PikadayWrap

有关更多信息,请参阅此问题。

如何在 React 中访问 DOM 元素?React 中 document.getElementById() 的等价物是什么

于 2018-04-20T03:42:24.123 回答