、のおかげでしかし、私が正しい行に沿って設定した答えに対してmaddox2が使用されていますが、上記のコメントに1人のユーザーが指摘したように、上記の解決方法はTypeError: value.map is not a function
となります。
これを修正するには、reduxForm()
を使用してフォームを作成するときに、フィールドのタイプをinitialValues
に明示的に設定する必要があります。コードの例を以下に示します。 Range
によって使用される追加的な小道具もprops
小道具にReduxRange
に渡され、そしてこれらはその後ラッピング成分中Range
に渡さされる方法
注意。
import React from 'react';
import { Field, reduxForm } from 'redux-form'
import Range from 'rc-slider/lib/Range';
import 'rc-slider/assets/index.css';
// initial wrapper - note alterations
const ReduxRange = props => {
const { input: { value, onChange } } = props
return (
<Range
value={props.input.value}
onChange={props.input.onChange}
{...props}
/>
)
}
// the form
export const SomeReduxForm = props => {
const { handleSubmit } = props;
// these props will get passed to the Range
const rangeProps = {
defaultValue:[2020, 2040],
marks:{
2020: '2020',
2030: '2030',
2040: '2040',
2050: '2050',
2060: '2060',
2070: '2070',
2080: '2080',
},
pushable:true,
allowCross:false,
min:2018,
max:2080,
step:1,
}
return (
<section className="box box-default">
<form>
<div className="box-header">Year Range</div>
<div className="box-body">
<Field
name="yearRange"
component={ReduxRange}
props={rangeProps}
/>
</div>
</form>
</section>
)
}
export default reduxForm({
form: 'someReduxForm',
initialValues: {
yearRange: [2020, 2040]
}
})(SomeReduxForm)
ありがとうたくさん:) – user7334203
Im writing import 'react'から反応します。 'rc-slider'からのインポート{範囲}; 'rc-slider/assets/index.css'をインポートします。 const MyRange =(props)=> { const value = props.input.value; const onChange = props.input.onChange; return( <範囲値= {値} onChange = {オンチェンジ} /> ); }; デフォルトのMyRangeをエクスポートします。エラーはvalue.mapが関数ではないことを示しています..それは何を意味するのでしょうか? – user7334203
このエラーも発生しました。私は新しい答えとして修正を掲載しました。 –