小编Sea*_*ker的帖子

错误:在使用 get 函数时,类型转换表达式应该用括号括起来

我是 javascript 新手,我正在尝试向 youtube API 发出 get 请求。在使用 axios 之前,我已经预先配置了一些与请求相关的东西。但是,我认为我的问题与 get 函数的使用更相关。

我对请求的预定义配置存储在“youtube”对象下。这是创建它的代码

import axios from 'axios';


const KEY = 'AIzaSyDVd1jDhcZdtJb--1_ncBqpL0Gxgfs9ys8';

export default axios.create({

    baseURL: 'https://www.googleapis.com/youtube/v3',
    params: {
        part: 'snippet',
        maxResults: 5,
        key: KEY

    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题与我何时使用这些设置使用 get 函数有关。

下面的代码给了我以下错误:“解析错误:类型转换表达式应该用括号括起来”

onTermSubmit = (term) => {

        youtube.get('/search', 
            params: {
                q:term
            }
        );
    };
Run Code Online (Sandbox Code Playgroud)

但是当我在参数周围添加括号时它工作正常:

onTermSubmit = (term) => {

        youtube.get('/search', {
            params: {
                q:term
            }
        });
    };
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么包含括号可以解决此错误,以及该错误最初的实际含义吗?

javascript parameters get parentheses axios

6
推荐指数
1
解决办法
1万
查看次数

为什么React Router导致我的组件重新安装,而不仅仅是重新渲染?

我正在使用React Router创建一个应用程序,它具有多个路由,包括Uploader上传视频的组件和观看视频的Videos组件。视频页面将一些评论存储为状态,我希望在整个打开的应用程序中保留这些评论。但是,React Router似乎导致每个组件都需要重新安装而不是重新渲染,每当我重新路由回该Video组件时,我的状态都将重置为初始空值。我在组件内部使用的是render方法而不是component方法Route,所以我不明白为什么会这样。有谁知道是什么原因造成的?

这是路由发生的主要应用程序:

class App extends React.Component{

    constructor(props){
        super(props)
        var fileNames
        var files
        var fileSelected
        this.state={fileSelected:null}
     }

    getFileFromChild= (uploadedFiles)=> {
         this.files = uploadedFiles

    }

    fileButtonClicked= (index)=> {
        //extract file chosen by user based on button click
        this.setState({fileSelected: this.files[0][index]})

    }

    render(){
        //destructuring props in class component
        const {user} = this.props;
    return(

        <Router>
            <div className = "nav-bar">
                <Nav/>
                <Switch>
                    <Route path='/' exact render={()=> <HomePage />
                    }/> 
                    <Route path='/videos' render={()=> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

2
推荐指数
1
解决办法
65
查看次数