Reactjs 反应国家/地区选择

Reactjs 反应国家/地区选择,reactjs,Reactjs,我有一些关于react country region selector的代码,它允许我选择国家和地区,但国家没有被选中,地区仍然是一个破折号。有人能告诉我我的代码出了什么问题吗? 另外,我使用这个网站来编写代码 从'react country region selector'导入{CountryDropdown,RegionDropdown}; 从“React”导入React,{useState}; 常量位置=()=>{ 常量[状态,设置状态]=使用状态({ 国家:“, 区域:“ }) cons

我有一些关于react country region selector的代码,它允许我选择国家和地区,但国家没有被选中,地区仍然是一个破折号。有人能告诉我我的代码出了什么问题吗? 另外,我使用这个网站来编写代码

从'react country region selector'导入{CountryDropdown,RegionDropdown};
从“React”导入React,{useState};
常量位置=()=>{
常量[状态,设置状态]=使用状态({
国家:“,
区域:“
})
const selectCountry=(val)=>{
setState({state:val});
}
常量selectRegion=(val)=>{
setState({state:val});
}
const{country,region}=setState;
返回(
选择国家/地区(val)}/>
选择区域(val)}/>
);
}
返回默认位置;
我目前拥有的:

我需要的是:

您只需要做一些小的更改

    const selectCountry = (val) => {
    setState({ country: val });

  }

  const selectRegion = (val) =>{
   setState({ region: val });
  }
  const { country, region } = state;

  return(
         <div>
 <CountryDropdown
          value={country}
          onChange={(val) => selectCountry(val)} />
        <RegionDropdown
          country={country}
          value={region}
          onChange={(val) => selectRegion(val)} />
         </div>
</div>
const selectCountry=(val)=>{
setState({国家:val});
}
常量selectRegion=(val)=>{
setState({region:val});
}
const{国家、地区}=州;
返回(
选择国家/地区(val)}/>
选择区域(val)}/>

您没有正确更新状态,也没有正确分解状态。这是一个@Yousaf是的,我比较后才意识到,谢谢。这就是我做的设置状态,谢谢。是的,您还应该将变量传递给const{country,region}像这样。以前您使用了setState,它用于将值关联到状态,并且不返回任何值
setState({country:val});
-这将覆盖现有状态-它应该是
setState({…state,country:val});
setState({region:val});
-
setState({…州,地区:val});
    const selectCountry = (val) => {
    setState({ country: val });

  }

  const selectRegion = (val) =>{
   setState({ region: val });
  }
  const { country, region } = state;

  return(
         <div>
 <CountryDropdown
          value={country}
          onChange={(val) => selectCountry(val)} />
        <RegionDropdown
          country={country}
          value={region}
          onChange={(val) => selectRegion(val)} />
         </div>
</div>