, 덕분에 위의 설명에서 한 사용자가 지적한 바와 같이, maddox2는 올바른 라인을 따라 나를 설정하는 대답을 위해 위의 해결책은 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 'react'; 'rc-slider'에서 가져 오기 {Range}; 'rc-slider/assets/index.css'을 가져 오십시오. const MyRange = (props) => { const value = props.input.value; const onChange = props.input.onChange; return ( <범위 값 = {값} onChange = {onChange} /> ); }; 내보내기 기본값 MyRange; 오류는 value.map이 함수가 아니라는 것을 보여줍니다 .. 그게 무슨 뜻인지 아십니까? – user7334203
이 오류도 발생했습니다. 수정본을 새로운 답변으로 게시했습니다. –