React中的Styled Components,找到对应的组件
Styled Components in React, finding the corresponding component
styled components 很新,我很喜欢。但是,在构建 React 应用程序时,我当然会在 DOM 中得到很多元素。有时我看到需要更改的样式。但是因为标签是这样的:
<div class="kOs1nAz">content</div>
我很难找到这个标签属于哪个组件。
在您的组件中 debug/find 这些样式的最佳方式是什么?也许有没有办法在类名前加上组件名或类似的东西?
你可以用这个 babel-plugin
解决这个问题
基本上它将样式组件的名称添加到类名列表中。
希望对您有所帮助。
如果您需要更多相关信息,请点击此处docs
。
在您的 webpack 配置 - babel 插件中,您必须将 displayName
设置为 true
:
['babel-plugin-styled-components', { displayName: true }]
届时 class 名称将不会被缩短。
如果您有权访问 webpack 配置,请按照 Better debugging 的建议添加以下插件:
{plugins: [['babel-plugin-styled-components', { displayName: true }]]}
如果您使用 create-react-app,您可能需要 react-app-rewired 修改 webpack 配置。
如果两者都不适合您,您可以从浏览器检查器工具切换到 Chrome or Firefox.
的 React Dev Tools
在那里,查找树,直到看到组件的名称(不是样式组件,只是从文件中导出的父组件)- 这将帮助您确定要查找的文件。然后,使用选择器工具 select 内部的相关样式组件(例如 styled.button
)并查看元素的结构以帮助您在该文件中找到它。
如果您需要在生产版本中进行调试,请确保使用 displayName
:
const MyComponent = ...
MyComponent.displayName = 'MyComponent'
export default MyComponent
这将避免像 t
这样的缩小名称。如果您必须在有机会添加可读的显示名称之前进行调试,那么您将不得不依赖 DOM elements class
属性来手动添加 className 的元素,或者检查 React Dev 中的道具名称识别元素的工具...
styled components 很新,我很喜欢。但是,在构建 React 应用程序时,我当然会在 DOM 中得到很多元素。有时我看到需要更改的样式。但是因为标签是这样的:
<div class="kOs1nAz">content</div>
我很难找到这个标签属于哪个组件。
在您的组件中 debug/find 这些样式的最佳方式是什么?也许有没有办法在类名前加上组件名或类似的东西?
你可以用这个 babel-plugin
基本上它将样式组件的名称添加到类名列表中。
希望对您有所帮助。
如果您需要更多相关信息,请点击此处docs
。
在您的 webpack 配置 - babel 插件中,您必须将 displayName
设置为 true
:
['babel-plugin-styled-components', { displayName: true }]
届时 class 名称将不会被缩短。
如果您有权访问 webpack 配置,请按照 Better debugging 的建议添加以下插件:
{plugins: [['babel-plugin-styled-components', { displayName: true }]]}
如果您使用 create-react-app,您可能需要 react-app-rewired 修改 webpack 配置。
如果两者都不适合您,您可以从浏览器检查器工具切换到 Chrome or Firefox.
的 React Dev Tools在那里,查找树,直到看到组件的名称(不是样式组件,只是从文件中导出的父组件)- 这将帮助您确定要查找的文件。然后,使用选择器工具 select 内部的相关样式组件(例如 styled.button
)并查看元素的结构以帮助您在该文件中找到它。
如果您需要在生产版本中进行调试,请确保使用 displayName
:
const MyComponent = ...
MyComponent.displayName = 'MyComponent'
export default MyComponent
这将避免像 t
这样的缩小名称。如果您必须在有机会添加可读的显示名称之前进行调试,那么您将不得不依赖 DOM elements class
属性来手动添加 className 的元素,或者检查 React Dev 中的道具名称识别元素的工具...