Json React Typescript使用Ramda函数结果设置状态
这是我的密码。我想使用来自Ramda函数的转置数据,并使用其结果来设置状态。然后,我希望能够使用转置的数组映射数据以发送到其他组件。当我试图将转换后的数组传递给Json React Typescript使用Ramda函数结果设置状态,json,reactjs,typescript,use-state,Json,Reactjs,Typescript,Use State,这是我的密码。我想使用来自Ramda函数的转置数据,并使用其结果来设置状态。然后,我希望能够使用转置的数组映射数据以发送到其他组件。当我试图将转换后的数组传递给setResponse时,会出现错误。我应该在别处运行R.transpose(…)?然后,当我试图映射响应时,它表示它在数据模型上不存在。谢谢 DataModel和TransposedDataModel来自index.tsx id?: number, min?: number, max?: number, avg?: nu
setResponse
时,会出现错误。我应该在别处运行R.transpose(…)
?然后,当我试图映射响应时,它表示它在数据模型上不存在。谢谢
DataModel
和TransposedDataModel
来自index.tsx
id?: number,
min?: number,
max?: number,
avg?: number
};
export interface TransposedDataModel {
transposedData?: DataModel[]
results?: DataModel
}
interface AppState {
results?: TransposedDataModel;
}
export const App: React.FC<AppState> = ({results}) => {
// export const App = () => {
const [loading, setLoading] = React.useState(false)
// const [weather, setWeather] = React.useState<DataModel[]>([])
// const [response, setResponse] = React.useState<AppState[]>({results})
const [response, setResponse] = React.useState(results)
console.log(setResponse)
React.useEffect(() => {
request.get(url)
.end((err, res) => {
if (err) {
console.log(err)
}
if (res.status === 200) {
// \\`**** I need to sent `setResponse` to the results of transpose the response
// \\R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]
const results = R.transpose([res.body.avg, res.body.max, res.body.min])
// error happens here
setResponse(results)
} else {
console.log(err);
}
return
});
}, [])
return (
<div>
<ul>
<div>
{response.map(r => <div>{r.max}</div>)}
</div>
</ul>
</div>
)
)
}```
id?:编号,
min?:数字,
马克斯:号码,
平均值:数字
};
导出接口TransposedDataModel{
transposedData?:数据模型[]
结果:数据模型
}
接口应用状态{
结果:转置数据模型;
}
export const App:React.FC=({results})=>{
//导出常量应用=()=>{
常量[loading,setLoading]=React.useState(false)
//const[weather,setWeather]=React.useState([])
//const[response,setResponse]=React.useState({results})
const[response,setResponse]=React.useState(结果)
console.log(setResponse)
React.useffect(()=>{
request.get(url)
.end((错误、恢复)=>{
如果(错误){
console.log(错误)
}
如果(资源状态===200){
//\\`****我需要将`setResponse`发送到转置响应的结果
//\\R.转置([[1,'a'],[2,'b'],[3,'c']])/=>[[1,2,3],'a','b','c']]
const results=R.transpose([res.body.avg,res.body.max,res.body.min])
//这里发生了错误
setResponse(结果)
}否则{
控制台日志(err);
}
返回
});
}, [])
返回(
{response.map(r=>{r.max}}
)
)
}```