如何将控制台中的输出保存为反应中的变量?

我正在做网络开发课程的项目,我想稍微修改一下,但我卡住了。我想将此输出 -> response.outputs[0].data.regions[0].data.concepts[0].name 保存为变量,然后将其传递给子组件,但是,我尝试过的所有方法这样做没有成功。有什么建议么?谢谢!


 ``` onSubmit = () => {

    this.setState({imageUrl: this.state.input});

    app.models

    .predict(

      Clarifai.RANDOM_MODEL,

      this.state.input)

      .then(

          function (response){

           console.log(response.outputs[0].data.regions[0].data.concepts[0].name);

        },

        function(err){

          console.log(err)

        }

      );

    } ```


12345678_0001
浏览 118回答 1
1回答

蛊毒传说

您无法从异步调用返回响应。在回调内部then,将数据存储在组件的state中。当您渲染子组件时,通过属性传递状态数据。由于状态可能尚未具有所需的值,因此您需要对此进行测试并提供合适的替代内容。例如if (myStateVariable) {    return <Foo value={myStateVariable} />}return <LoadingIndicator />
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript