启用forbid-prop-types规则后,eslint
禁止我使用style: React.PropTypes.object
,建议使用shape
。
但是真的有必要为此目的定义所有可用属性吗?
DEMO.propTypes = {
style: React.PropTypes.shape({
color: React.PropTypes.string,
fontSize: React.PropTypes.number,
...
})
};
定义代码太多了!
答案 0 :(得分:40)
React Native现在包含.divTableRow{
width:100%;
display:flex;
justify-content:center;
}
,它将替换ViewPropTypes
。用法示例:
View.propTypes.style
答案 1 :(得分:29)
View.propTypes.style
或
Text.propTypes.style
看起来像这样:
DEMO.propTypes = {
style: Text.propTypes.style,
...
};
https://facebook.github.io/react-native/releases/0.21/docs/style.html#pass-styles-around
答案 2 :(得分:18)
一种可能性是使用react-style-proptype包,如下所示:
import stylePropType from 'react-style-proptype';
MyComponent.propTypes = {
style: stylePropType,
};
答案 3 :(得分:3)
使用from getpass import getpass
import webbrowser
import requests
import os
amazon_username = raw_input("Amazon email: ")
amazon_password = getpass()
headers = {
"User-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36",
"action": "sign-in",
"email": amazon_username,
"password": amazon_password
}
r = requests.get("https://www.amazon.com/gp/sign-in.html", headers=headers)
print(r.status_code)
r = requests.get("https://www.amazon.com/gp/flex/sign-in/select.html", headers=headers)
print(r.status_code)
r = requests.get("https://www.amazon.com/", headers=headers)
print(r.status_code)
。已弃用ViewPropTypes.style
答案 4 :(得分:3)
使用以下简单代码。
PropTypes.oneOfType([PropTypes.object, PropTypes.array])
因此,您可以对此应用代码。
DEMO.propTypes = {
style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
};
在RN> 0.57中进行了测试。
答案 5 :(得分:1)
扩展@ jalal246答案:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Buffered = Table.Buffer(Source),
#"Grouped Rows" = Table.Group(Buffered, {"value"}, {{"AllRows", each Table.AddIndexColumn(_, "Record", 1, 1), type table}}),
#"Expanded AllRows" = Table.ExpandTableColumn(#"Grouped Rows", "AllRows", {"value2", "Record"}, {"value2", "Record"}),
#"Pivoted Column" = Table.Pivot(#"Expanded AllRows", List.Distinct(#"Expanded AllRows"[value]), "value", "value2"),
#"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Record"})
in
#"Removed Columns"
这可用于Web样式(对于React-native,请参阅其他答案),而不必使用其他程序包。
答案 6 :(得分:1)
有两种可能性。我首选的第一个方法是使用react中的ViewPropTypes。另一个使用PropTypes的是:
Component.propTypes = {
textStyles: PropTypes.oneOfType([
PropTypes.object,
PropTypes.number
])
}
您可能会问“为什么PropTypes.number如果样式只是对象?”答案是,react本机团队进行了一些优化,将缓存样式表并仅发送缓存的ID。
答案 7 :(得分:0)
我通常使用PropTypes.objectOf(PropTypes.string)
而不需要定义所有CSS样式。
答案 8 :(得分:0)
JSDoc 有一个简单的方法。
/**
* @typedef Props
* @prop {React.CSSProperties} style
*/
/**
* some component
* @augments {Component<Props, State>}
*/
export default class SomeRandomClass extends React.Component { }
将上述 JSDoc 添加到您的 React 组件将使 VS Code 能够建议所有可能的 CSS 属性。