【问题标题】:How to use react-rangeslider in a stateless component如何在无状态组件中使用 react-rangeslider
【发布时间】:2020-01-13 18:48:32
【问题描述】:

现在在 react-rangeslider 中的一个简单示例如下

import React, { Component } from 'react'
import Slider from 'react-rangeslider'

class VolumeSlider extends Component {
  constructor(props, context) {
    super(props, context)
    this.state = {
      volume: 0
    }
  }

  handleOnChange = (value) => {
    this.setState({
      volume: value
    })
  }

  render() {
    let { volume } = this.state
    return (
      <Slider
        value={volume}
        orientation="vertical"
        onChange={this.handleOnChange}
      />
    )
  }
}

如果我把它改成无状态组件


    return (
      <Slider
        value={props.volume}
        orientation="vertical"
        onChange={props.handleOnChange}
      />
    )

我正在另一个状态完整组件中处理我的状态和 onChange 方法,我如何将值传递给 handleOnChange 方法?

  handleOnChange = (value) => {
    this.setState({
      volume: value
    })
  }

这就是我正在使用的库 https://www.npmjs.com/package/react-rangeslider

【问题讨论】:

    标签: javascript reactjs jsx


    【解决方案1】:

    你可以做这样的事情,并将另一个组件的函数和状态作为道具传递。

     import React, { Component } from "react";
     import Slider from "react-rangeslider";
    
     const VolumeSlider = ({onChange,value}) => {
          return <Slider value={value} orientation="vertical" onChange={onChange}/>;
        };
    

    【讨论】:

    • 正如我所说,我希望它在功能组件上,因为我将反应滑块设置为无状态组件,然后将其导入另一个功能组件,并且状态在第三状态完整组件中进行管理,我想也许我没有解释,但任何帮助都会很棒
    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 2020-02-20
    • 2017-04-06
    • 1970-01-01
    • 2016-12-17
    • 2017-06-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多