如何使用功能组件道具通过usestate()设置状态?

时间:2019-12-02 09:44:47

标签: reactjs

因此,我一直在尝试在功能组件中使用usestate()挂钩,并且一直在尝试使用在表单输入字段中作为道具传递的信息。我可以直接使用道具就好了。但是当我尝试在Usestate()中使用它时,它只是显示为未定义。

像这样:

const [state, setstate] = useState({
    title: prop1.title,
});

这就是组件内部的外观

function Functionname({ prop1}) {}

这是父级的构造函数

constructor(props) {
    super(props);
    this.state = {
        prop1: {},

    }

获取方法

fetch(`api/SampleData/GetProp1/${this.props.match.params.prop1Id}`)
            .then(response => response.json())
            .then(data => {
                this.setState({ prop1: data});

            });

父母的回报

 return (
        <div>

            <Prop1component prop1={this.state.prop1} />
        </div>


    );

对不起,如果我错过了一些信息,并预先感谢

编辑:添加了更多信息。

edit 2:Max指出,如果我只是在构造函数中定义状态,而不是在必须获取数据时,则应该将{prop1.title}更改为prop1.title。

1 个答案:

答案 0 :(得分:0)

我不知道我是否了解得很好,但这是否是函数声明:

function Functionname({ prop1}) {}

那么我认为使用状态可能是:

const [state, setstate] = useState({
    title: prop1.title,
});