私が代わりに、それは状態を管理し、私は達成するためにrecompose
ライブラリからwithState
を使用していSlider
Higher Order Componentの初期状態を小道具として渡す方法は?
に小道具をダウン渡しSliderDrag
と呼ばれる別のコンポーネントに包まれています、自身の状態を処理しないSlider
コンポーネントを持っていますそれ。ここ
は私のSlider
状態初期状態は
export const getInitialState =() => ({
min: 0,
max: 100,
value: 50,
step: 1,
width: 100,
dragging: false
});
されており、ここで私の高次成分であるwithState()
export const SliderDrag = withState('state', 'onChange', getInitialState())(
({state, onChange, action}) => (
<Slider
{...state}
onDragStart={({x}) => {
onChange(dragStart(x, state));
}}
onDrag={({x}) => {
onChange(drag(x, state));
action('value')(state.value);
}}
onDragEnd={() => {
onChange(dragEnd(state));
}}
/>
)
);
からそして、ここで私がSliderDrag
を使用する方法です。私は私のアプリで異なるコンテキストでこのSlider
コンポーネントを使用できるように
state
私のイニシャルを設定するために小道具を伝承する
export const interactive = (action) => (
<Storypage theme={designerTheme}>
<SliderDrag width={218} step={1} min={0} max={100} action={action}/>
</Storypage>
);
たい私はrecompose
ライブラリからcompose
を使用する必要がありますか?どんな助言や助けも高く評価されます。 :)