2017-05-22 37 views
1

私はReactの初心者ですが、最近はいくつかのサードパーティ製コンポーネントの学習と再生を開始しています。 1つの試みは(http://gfazioli.github.io/react-switch-button/#demoreact-switch-buttonはsetStateによって更新できません

です。このように、非常にすぐに愚かな問題が発生します(私はそれを理解できません)。以下のサンプルでは、​​SwitchButtonをfalse状態にtrueに変更することはできません。 SwitchButtonで更新をトリガーするためにボタンのクリックを使用しようとしたが、私はそれを機能させることはできない。

'checked'プロパティはString型であり、try( 'true' | 'false' | 'checked' | '')またはブール値を使用するブーリアンを取得してもまだ運がないほか、 SwitchButtonの更新を引き起こす可能性があります。

初心者を助けることができたら大変感謝しています。多くのおかげで

import React from 'react' 
import SwitchButton from 'react-switch-button' 
import 'react-switch-button/dist/react-switch-button.css' 

export default class Demo extends React.Component { 
    constructor() { 
    super(); 
    this.state = { 
     testChecked: 'false' 
    }; 

    this.onButtonClick = this.onButtonClick.bind(this); 
    } 

    componentDidMount() { 
    console.log(this.state.testChecked) 
    } 

    onButtonClick(){ 
    this.setState({ 
     testChecked: 'true' 
    }); 
    console.log(this.state.testChecked); 
    } 

    render() { 
    return(
     <div> 
      react-switch-button 
      <br/><br/> 
      <input type='button' value='click' onClick={this.onButtonClick} /> 
      <br/> 
      {this.state.testChecked}: 
      <SwitchButton name='switch-1' defaultChecked={false} checked={this.state.testChecked} /> 
     </div> 
    ); 
    } 
} 

答えて

0

は、私がここにソースを念頭に置いてhttps://github.com/gfazioli/react-switch-button/blob/master/src/react-switch-button.js

あなたは、例えば状態を切り替えるためのdefaultChecked小道具を使用するには、それを見ることができる限り使用されていないプロパティcheckedのように見えます

<SwitchButton name='switch-1' defaultChecked={this.state.testChecked} /> 

それはあなたがそれにあなたの状態testCheckedを変更する必要がありタイプReact.PropTypes.boolなくReact.PropTypes.stringからです。

+0

多くのおかげミュラ ブールプロパティでdefaultCheckedを使用してみました、それはあまりにも とにかく動作しません、ウル答えのためのおかげで、私が代わりに別のコンポーネントを使用して変更を持っている(この1つの作業 - https://www.npmjs.com/パッケージ/反応トグルスイッチ) – tt1505

関連する問題