Reactjs 反应未知道具警告

Reactjs 反应未知道具警告,reactjs,redux,warnings,react-redux,react-router-redux,Reactjs,Redux,Warnings,React Redux,React Router Redux,我试图使用道具呈现DOM元素,但React未将我的尝试识别为合法的DOM属性/属性 所以我开始研究一个解决方案,我从中找到了这个来源。然而,尽管解释得很好,但我有一个更深层次的问题,因此将涉及更深层次的解决方案 作为代码示例,我将介绍ExampleContainer方法: export let ExampleContainer = (props) => { return ( <DetailsContainer tabs={props.tabs} active

我试图使用道具呈现DOM元素,但React未将我的尝试识别为合法的DOM属性/属性

所以我开始研究一个解决方案,我从中找到了这个来源。然而,尽管解释得很好,但我有一个更深层次的问题,因此将涉及更深层次的解决方案

作为代码示例,我将介绍
ExampleContainer
方法:

export let ExampleContainer = (props) => {

    return (
        <DetailsContainer tabs={props.tabs} activeTab={props.activeTab}>
            {props.children}
        </DetailsContainer>
    )
}
最后,问题出现在我的
mergeProps
中,我有这个
选项卡
source给我提供了问题,更具体地说,在
i18n
属性中:

const mergeProps = (stateProps, dispatchProps, ownProps) => {
  return Object.assign({}, ownProps, {
    tabs: [
      {
        'onClick' : dispatchProps.goToExampleOptionA,
        'key' : 'ExampleOptionA',
        'i18n' : stateProps.i18n.Tabs.exampleOptionATab

      },
      {
        'onClick' : dispatchProps.goToExampleOptionB,
        'key' : 'ExampleOptionB',
        'i18n' : stateProps.i18n.Tabs.exampleOptionBTab
      }
    ]
  }, stateProps)
}
问题是,当我打开容器时,它会向我发出以下警告:

我的
DeyailsContainer
组件是:

let DetailsContainer =  ({
    tabs,
    rightIcons,
    activeTab,
    children
}) => {
    return (
        <div>
            <Tabs tabs={tabs} rightIcons={rightIcons} activeTab={activeTab}/>
            <div className="app-wrapper">
                {children}
            </div>
        </div>
    )
}
let details容器=({
标签,
右图标,
activeTab,
儿童
}) => {
返回(
{儿童}
)
}

这是由于将i18n道具直接传递到某个地方

我猜它在你的DetailsContainer组件中。如果您将组件接收到的所有道具像这样分散到div中,那么肯定可以做到这一点


现在,当您尝试传递某些类型的道具时,React会发出警告,这些道具不是DOM元素的标准属性。如果出于如下原因需要将i18n作为属性,您需要将其更改为data-i18n作为道具。

这是因为将您的i18n道具直接传递到某个
位置

我猜它在你的DetailsContainer组件中。如果您将组件接收到的所有道具像这样分散到div中,那么肯定可以做到这一点


现在,当您尝试传递某些类型的道具时,React会发出警告,这些道具不是DOM元素的标准属性。如果出于如下原因需要将i18n作为属性,您需要将其更改为data-i18n作为道具。

我更新了信息以向您显示我的
详细信息容器
似乎不在其中。您找到了吗?它可能在选项卡组件中。实际上,这个组件看起来很熟悉。如果您碰巧正在使用react foundation组件库,那么问题就出在这里。不幸的是,他们正在将无效的道具传递到他们的许多元素中。我最终没有使用它们,我还没弄明白。但是我使用了我自己的
选项卡
组件:我更新了信息以向您显示我的
详细信息容器
似乎不在其中。您找到了吗?它可能在选项卡组件中。实际上,这个组件看起来很熟悉。如果您碰巧正在使用react foundation组件库,那么问题就出在这里。不幸的是,他们正在将无效的道具传递到他们的许多元素中。我最终没有使用它们,我还没弄明白。但我使用自己的
选项卡
组件:
let DetailsContainer =  ({
    tabs,
    rightIcons,
    activeTab,
    children
}) => {
    return (
        <div>
            <Tabs tabs={tabs} rightIcons={rightIcons} activeTab={activeTab}/>
            <div className="app-wrapper">
                {children}
            </div>
        </div>
    )
}