0

我想创建高阶组件,在“componentDidMount”中添加一些逻辑,然后通过“this.setState({});”强制它更新。但是在 setState({}) 触发之后,next props(在 render 方法中)变成了一个 emty object {},并且this.props.children也变成了 undefined。

const SomeComponet = props => (
    <div>{props.children}</div>
);

function connect(WrappedComponent) {
    return class Connect extends Component {
        componentDidMount() {
            this.setState({});
        }
        render() {
            console.log("children:", this.props.children)
            return <WrappedComponent {...this.props}/>;
        }
    };
}

const HOC = connect(SomeComponet);

export default () => (
    <HOC>
        <span>!!!!!!!!!</span>
    </HOC>
);

这是为什么 ?

在控制台中,我看到这样的输出:

children: [VNode]
children: undefined
4

0 回答 0