基本的には、誰かが投稿を開始したときにすべてのエクスパンダを開くことです。それはかなり簡単に聞こえるが、私が来た解決法はかなり醜い。アクションがディスパッチされると、それはエキスパンダーの状態をエキスパンダーを開く必要があるという信号コンポーネントに変更し、直ちにレデューサーの状態をリセットする別のアクションを呼び出します。私はredux観測を使用しているので、私は叙事詩の中でstartとendを呼ぶこともできます。しかし、このアプローチは非常に奇妙に思えますが、何らかのアクションを実行するようにコンポーネントに信号を送るより良い方法はありますか?私はここで問題は、追加の状態が必要ないないようであればコンポーネントは、アプリケーション固有のイベント/信号を観察持っているかと思い特定のreduxアクションが呼び出されたときに、すべてのエクスパンダを開く
class ExpanderWrapper : React.Component<any,any>
{
state = {expanded:false}
componentWillReceiveProps(newProps)
{
if(newProps.forceExpand) {
this.setState({expanded:true});
this.props.forceExpandEnded();
}
}
render() {
return(<Expander expanded={this.state.expanded}
onExpandChange={()=>this.setState({expanded:false)} />
}
}
connect(ExpandWrapper,... map forceExpand and forceExpandEnded() here)
reducer(state,action)
{
if(action === forceExpandStarted)
return {...state,forceExpand:true}
if(action === forceExpandEnded)
return {...state,forceExpand:false}
}
あなたはね、あなたの以前の生活の中でC++を書きましたか? = D – jayphelps
ちょうど大学:) "擬似コード"のため? – MistyK
改行の 'class Derived:Base'構文と中括弧 – jayphelps