2017-12-22 7 views
2

Ich bin neu in reactjs und erstelle eine Lautstärkeleiste.reactjs in handle einfügen Variable Statusaktualisierung

ich meinen Zustand mit meinen Wert aktualisieren, und ich möchte es betreten in handleclick() {}; so nehme ich aktualisierten Zustand und legen Sie sie in meiner Funktion setVolume();

Gibt es eine andere Möglichkeit für mich, meine setstate in handleclick(); zu betreten?

import React from 'react' 
import Slider from 'react-rangeslider' 
import 'react-rangeslider/lib/index.css' 
import './css/Volume.css' 

class VolumeBar extends React.Component 

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

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

handleClick(volume) { 
window.DZ.player.setVolume() 
    } 

render() { 
    let { volume } = this.state 
    console.log(volume); 
return (
    <div className="VolumeBar"> 
    <Slider value={volume} orientation="horizontal" onChange= {this.handleClick} /> 
    </div> 
); 
} 
} 

export default VolumeBar 
+0

rufen Sie nie Ihre 'handleOnChange' Methode. Sie rufen handleClick onChange auf. Wahrscheinlich möchtest du es in 'onChange = {this.handleOnChange}' ändern und dann den 'window.DZ.player.setVolume'call in deine' handleOnChange' Funktion verschieben. – brub

+0

handleOnChange() { this.setState ({ Volumen: Wert }) window.DZ.player.setVolume (Volumen) } in setVolume einfügen müssen() mi Volumen/und das ist, wie ich den Wert ich brauchen –

Antwort

0

Haben Sie das versucht?

<Slider value={volume} orientation="horizontal" onChange=this.handleOnChange} /> 


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

Um die aktuelle Lautstärke einzustellen?

0
handleOnChange = (value) => { 
this.setState({ 
    volume: value 
}) 
window.DZ.player.setVolume(value) 
} 

danke ich habe es so gelöst.