2016-07-26 16 views
0

に反応します親オブジェクトでは、子のstateundefinedです。私はそれが正しい状態に移入されることを期待する。は私が親コンポーネント、PlanListを持っている子コンポーネントの状態は未定義である

+0

、コンストラクタで定義されていない.. – webdeb

+0

はいそれは: 'コンストラクタ(小道具){ スーパー(小道具)。 this.state = { 検索: ''、 }; ' – Ben174

+1

ああ、私は、あなたが何かクレイジーなことをしていることを知っている..その反応しない作品。 – webdeb

答えて

2

リアクションのデータが一方向に流れている場合、親が子の変更について知っている必要がある場合は、ハンドラを子の小道具として渡す必要があるため、子内から呼び出されます。明らか

class Papa extends React.Component { 
    constructor(p, c) { super(p, c) } 
    handleFilterChange(valueFromChild) { 
    // 
    } 
    render() { 
    return <Child filterHandler={this.handleFilterChange} /> 
    } 
} 

const Child = ({filterHanlder}) => (
    <button onClick={() => filterHandler('valueToParent') } >Click Me</button> 
) 
+0

短い答えは:私は状態を間違って使っていた。これらはプロパティであり、一番上のコンポーネントは状態を所有する必要があります。その状態に基づいて子オブジェクトのプロパティを設定する必要があります。 – Ben174

+0

ええ、あなたも見てみましょう** redux ** @ Ben174 – webdeb

関連する問題