为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:“状态”是只读的

类型错误:“状态”是只读的

猛跑小猪 2023-08-24 15:54:47
我正在尝试从 axios 请求渲染数据,但收到错误:TypeError:“state”是只读的。我试图弄清楚如何在手机屏幕上显示来自获取请求的数据。我以前从未这样做过,但我看到的很多文章都有人使用下面的方法。export default function App() {  const [state, setState] = useState();  state = {    items: [],  };  const url = "";  const getAPOD = () => {    axios      .get(url)      .then(function (response) {        // handle success        let title = response.data.title;        console.log(response.data);        setState({          items: title,        });      })      .catch(function (error) {        // handle error        console.log(error);      });  };  return (    <View style={styles.container}>      <Text>{items.title}</Text>      <StatusBar style="auto" />    </View>  );}
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超5个赞

您必须像下面这样设置状态


 const [state, setState] = useState({items:[]});

您可以像以前一样直接分配状态。


最好像下面这样更改代码。


export default function App() {

  const [state, setState] = useState({

    items: {title:""},

  });

  

  useEffect(getAPOD,[]);


  const url = "";


  const getAPOD = () => {

    axios

      .get(url)

      .then(function (response) {

        // handle success

        let title = response.data.title;

        console.log(response.data);

        setState({

          items: title,

        });

      })

      .catch(function (error) {

        // handle error

        console.log(error);

      });

  };


  return (

    <View style={styles.container}>

      <Text>{state.items.title}</Text>

      <StatusBar style="auto" />

    </View>

  );

}


查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信