我可以在react native中设置导入组件的状态吗?

时间:2018-11-01 10:52:32

标签: reactjs react-native

  

我想设置导入组件的状态。

import ProductListing from '../components/ProductListing';

    constructor(props){
    super(props);
    ProductListing = new ProductListing();
    ProductListing.state = {someVariable : 'hello'}; 
    }

2 个答案:

答案 0 :(得分:0)

从您要使用的组件中发送数据作为道具,并在该组件的状态内使用它。 示例:

import UserInfo from './userInfo.js' 
class UserDetail extends React.Component {
  render()
    {
            return(
       <UserInfo  myNewState= {//define your state here} /> 
       )

    }
}

And inside UserInfo use this: 

.... 
state= {this.props.myNewState}

答案 1 :(得分:0)

如果您的目的只是为了更新子组件的状态,则为ProductListing。因此,您可以执行以下步骤

将ProductListing创建为React类,以便您可以为此创建引用

class ProductListing extends Component (){
state = {
    items: []
}

updateStateItems = (data) => {
    this.setState({ items: data })
}
render() {
    return(
        // your render method code code
    )
}}

在您的父类中导入ProductListing,并使用引用调用函数updateStateItems使用要在ProductListing状态下设置的数据在该组件和componentDidMount中创建一个引用。

import ProductListing from './ProductListing'
class ParentClass extends Component (){
constructor(props){
    super(props)
}

componentDidMount(){
   // here use that reference to pass the data that you want to set in state
   this.ref.updateStateItems(data)}
render() {
    return(
        <div>
           <ProductListing 
            // to create a reference of product listing
            ref={(ref) => { this.ref = ref }} 
           /> 
        </div>
    )
}}