questionnaireSteps
это объект, значит и принимать он должен тоже объект, код будет выглядеть немного иначе:const myFunc = useCallback((type, value) => {
console.log(value)
if(type === 'step') setQuestionnaireSteps(prev => {
return {...prev, contactUs: value}
});
if(type === 'sms') setQuestionnaireSteps(prev => {
return {...prev, phoneNumberVerification: value}
})
}, [setQuestionnaireSteps]);
onChange: (event) => setPassport({...passport, placeOfIssue: event.target.value})
myFunc
вернул мне false
и true
. Как я понял первое это относится к contactUs
, а второе к phoneNumberVerification
. Также посмотрел на состояние объекта, но contactUs
, по прежнему true
. Хотя в него должен был передаться false
.contactUs: true
employmentAndIncome: false
passportDetails: false
phoneNumberVerification: false
StepOneForm
. Вот как оно передается:const onSubmit = (data) => {
props.statusStepOneForm(false)
props.statusSmsPhone(true)
}
onSubmit
. Который передает false в родитель, а в родителе я его должен принять и записать в объект contactUs
, который в стейте хранится. placeOfIssue
нет.useEffect (() => {
PlaceOfIssueScript(
(value) => setPassport({...passport, placeOfIssue: value}),
(value) => setPassport({...passport, ouCode: value.replace(/[^0-9]/g, '')}),
setStatusSelec
)
}, [passport])
useEffect(() => console.log(passport), [passport])
{series: '', number: '', dateOfBirth: '', passportIssueDate: '', ouCode: '220001', …}
dateOfBirth: ""
number: ""
ouCode: "220001"
passportIssueDate: ""
placeOfBirth: ""
placeOfIssue: ""
series: ""
[[Prototype]]: Object
placeOfIssue
нет.useEffect (() => {
PlaceOfIssueScript(
(value) => setPassport({...passport, placeOfIssue: value}),
(value) => setPassport({...passport, ouCode: value.replace(/[^0-9]/g, '')}),
setStatusSelec
)
}, [passport])
useEffect(() => console.log(passport), [passport])
{series: '', number: '', dateOfBirth: '', passportIssueDate: '', ouCode: '220001', …}
dateOfBirth: ""
number: ""
ouCode: "220001"
passportIssueDate: ""
placeOfBirth: ""
placeOfIssue: ""
series: ""
[[Prototype]]: Object
export const PlaceOfIssueScript = (placeOfIssue, OUCode) => {
function formatResult(value, currentValue, suggestion) {
suggestion.value = suggestion.data.code;
return suggestion.data.code + " — " + suggestion.data.name;
}
function showSuggestion(suggestion) {
$("#place_of_issue").val(suggestion.data.name);
placeOfIssue(suggestion.data.name);
OUCode(suggestion.data.code)
}
function clearSuggestion() {
$("#place_of_issue").val("");
}
$("#code_division").suggestions({
token: TOKEN,
type: "fms_unit",
formatResult: formatResult,
onSelect: showSuggestion,
onSelectNothing: clearSuggestion
})
}
familyStatus
то все будет ок, выведется объект как в самом последнем примере, а если из этого объекта вытянуть value
, то есть familyStatus.value
вылезет ошибка с невозможностью прочитать этот самый value
.