Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 在同一组件中包装提供程序抛出元素类型无效:应为字符串(对于内置组件)或类/函数,但Get:object_Javascript_Reactjs_Redux_React Redux_Mobx - Fatal编程技术网

Javascript 在同一组件中包装提供程序抛出元素类型无效:应为字符串(对于内置组件)或类/函数,但Get:object

Javascript 在同一组件中包装提供程序抛出元素类型无效:应为字符串(对于内置组件)或类/函数,但Get:object,javascript,reactjs,redux,react-redux,mobx,Javascript,Reactjs,Redux,React Redux,Mobx,我用Mobx和Redux写了一个简单的反例&它很管用 完整的演示可用 但是如果我从./src/index.js中删除提供程序 未捕获错误:不变冲突:元素类型无效:应为 内置组件或类/函数的字符串,但get:object 它起作用了,但我不知道为什么会发生?我从./src/redux.js检查了默认导出函数的类型,即 &这是一个对象,但如果我只想在React应用程序的一部分中使用Redux呢。比如说一张表格。然后通过这种方式,它将抛出一个错误。非常感谢您的帮助。之所以会出现这种情况,是因为您导出的

我用Mobx和Redux写了一个简单的反例&它很管用

完整的演示可用

但是如果我从./src/index.js中删除提供程序

未捕获错误:不变冲突:元素类型无效:应为 内置组件或类/函数的字符串,但get:object

它起作用了,但我不知道为什么会发生?我从./src/redux.js检查了默认导出函数的类型,即


&这是一个对象,但如果我只想在React应用程序的一部分中使用Redux呢。比如说一张表格。然后通过这种方式,它将抛出一个错误。非常感谢您的帮助。

之所以会出现这种情况,是因为您导出的不是返回JSX的函数,也不是带有返回JSX的呈现方法的类,而是JSX本身

将其呈现为{reduxImported}:

或将导出更改为:

export default () => (
  <Provider store={store}>
    <ConnectReduxApp />
  </Provider>
)

之所以会发生这种情况,是因为导出的不是返回JSX的函数,也不是带有返回JSX的呈现方法的类,而是导出JSX本身

将其呈现为{reduxImported}:

或将导出更改为:

export default () => (
  <Provider store={store}>
    <ConnectReduxApp />
  </Provider>
)
console.log(
    typeof(
       <Provider store={store}>
         <ConnectReduxApp />
       </Provider>
    )
);
import reduxImported from './src/redux.js'
...
render() {
  <Container>
    {reduxImported}
    <MobX />
  </Container>
}
export default () => (
  <Provider store={store}>
    <ConnectReduxApp />
  </Provider>
)