Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递给组件的属性返回未定义_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 传递给组件的属性返回未定义

Javascript 传递给组件的属性返回未定义,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我调用了异步方法,我需要它的值在第一个循环中呈现,这样它将被传递到下一个正在呈现的组件,我无法完成id。在返回值之前呈现组件,该值会导致属性在传递时未定义。 知道如何延迟渲染直到返回值吗 代码示例: export default class App extends Component { constructor(props) { super(props); this.state = { valueHere:'' }

我调用了异步方法,我需要它的值在第一个循环中呈现,这样它将被传递到下一个正在呈现的组件,我无法完成id。在返回值之前呈现组件,该值会导致属性在传递时
未定义。
知道如何延迟渲染直到返回值吗

代码示例:

export default class App extends Component {

    constructor(props) {
        super(props);
        this.state = {
            valueHere:''
        }
    }


componentWillMount() {
    axios.post(url, {
        username:this.state.username
    })
    .then((res) => {
        this.setState({
            valueHere:res.data
        })
    })
}    


    render() {
        return(
            <AnotherComponent
            someValue={this.state.valueHere}
        />
        )
    }

}


export default class AnotherComponent extends Component {

    constructor(props) {
        super(props);

    }



    render() {
        console.log(this.props.someValue) // undefined
        return(
            <View/>
        )
    }    
}
导出默认类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
值此处:“”
}
}
组件willmount(){
axios.post(url{
用户名:this.state.username
})
。然后((res)=>{
这是我的国家({
valueHere:res.data
})
})
}    
render(){
返回(
)
}
}
导出默认类另一个组件扩展组件{
建造师(道具){
超级(道具);
}
render(){
console.log(this.props.someValue)//未定义
返回(
)
}    
}
您可以使用。
因此,基本上,检查该值是否存在,然后呈现组件,否则返回null/任何其他组件

render() {
return( this.props.someValue? <ActualComponeent /> : <div> some loader...</div>)
}
render(){
返回(this.props.someValue?:一些加载器…)
}
您可以使用。
因此,基本上,检查该值是否存在,然后呈现组件,否则返回null/任何其他组件

render() {
return( this.props.someValue? <ActualComponeent /> : <div> some loader...</div>)
}
render(){
返回(this.props.someValue?:一些加载器…)
}

它对我来说不起作用,因为我需要渲染它,因为有时这个值会被忽略,我也需要渲染组件,然后在那里使用相同的代码,而不是返回null,返回任何默认组件@obiwankenoobi更新了代码,但它只会返回默认组件。调用已发出>尚未响应>默认组件渲染>响应已返回>组件已使用空propNope渲染..当您调用
setState
方法时,它将使用api的响应重新渲染,因此此时它将渲染
ActualComponent
这是显示加载程序的地方。我看到有问题的代码正在执行一个API调用,该调用通常会获取一些数据。因此,上面答案中的虚拟组件可以是加载程序。调用api…它对我来说不起作用,因为我需要它被呈现,因为有时这个值无论如何都是未定义的,我需要组件被呈现这些时间,然后在那里使用相同的代码,而不是返回null,返回任何默认组件@obiwankenoobi更新了代码,但它只会返回默认组件。调用已发出>尚未响应>默认组件渲染>响应已返回>组件已使用空propNope渲染..当您调用
setState
方法时,它将使用api的响应重新渲染,因此此时它将渲染
ActualComponent
这是显示加载程序的地方。我看到有问题的代码正在执行一个API调用,该调用通常会获取一些数据。因此,上面答案中的虚拟组件可以是加载程序。正在调用api。。。。