有人可以向我解释一下,为什么Redux有两个功能mapStateToProps
,mapDispatchToProps
并且两个都为容器添加了道具?
定义:
mapStateToProps是一个实用程序,可以帮助您的组件获得更新状态(由其他一些组件更新)
mapDispatchToProps是一个实用程序,它将帮助您的组件触发一个动作事件(可能导致应用程序状态更改的分派操作)
为什么Redux团队选择将其分解为两个映射函数 - 即为什么不只有一个函数mapToProps(state,dispatch,props)同时执行这两个函数?
mapDispatchToProps
为每次更改创建了新功能?具有独立的动作创作绑定功能将有助于避免这项额外的工作?考虑到 mapStateToProps
每个州的变化都需要这样做.例:
const increaseAction = { type: 'increase' }
class Counter extends Component {
render() {
const { value, onIncreaseClick } = this.props
return (
<div>
<span>{value}</span>
<button onClick={onIncreaseClick}>Increase</button>
</div>
)
}
}
function mapDispatchToProps(dispatch) {
return {
onIncreaseClick: () => dispatch(increaseAction)
}
Run Code Online (Sandbox Code Playgroud)
}
我正在寻找一个函数,它将一串JSON作为输入,并使用换行符和缩进(制表符)对其进行格式化.
示例:我有输入行:
{"menu": {"header": "JSON viewer", "items": [{"id": "Delphi"},{"id": "Pascal", "label": "Nice tree format"}, null]}}
Run Code Online (Sandbox Code Playgroud)
并希望以文本形式获得可读结果:
{
"menu":{
"header":"JSON viewer",
"items":[
{
"id":"Delphi"
},
{
"id":"Pascal",
"label":"Nice tree format"
},
null
]
}
}
Run Code Online (Sandbox Code Playgroud)
我发现了许多PHP和C#的例子,但不是Delphi.有人可以帮助这样的功能吗?
更新 - 使用SuperObject的解决方案:
function FormatJson (InString: WideString): string; // Input string is "InString"
var
Json : ISuperObject;
begin
Json := TSuperObject.ParseString(PWideChar(InString), True);
Result := Json.AsJson(true, false); //Here comes your result: pretty-print JSON
end;
Run Code Online (Sandbox Code Playgroud) 我想为seekbar创建一个自定义拇指,如下所示:
一种解决方案可以是这一种,其中png图片用于绘制拇指.
我认为应该可以只使用xml,因为它与这个拇指非常相似:
thumb.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size android:height="30dp" android:width="30dp"/>
<stroke android:width="18dp" android:color="#882EA5DE"/>
<solid android:color="#2EA5DE" />
<corners android:radius="1dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
只需要添加第二个边框(周围的白色笔划),这样我就可以跳过来管理不同屏幕分辨率的所有图片(hdpi/mdpi/xhdpi/xxhdpi).
我尝试了不同的组合形状"椭圆形"和"环形",但无法得到所需的结果.你怎么能做到的?
根据文档,我可以这样做:
<input data-parsley-required-message="this field is required" />
Run Code Online (Sandbox Code Playgroud)
但这需要为每个输入重复数据欧芹所需的消息。我只想在一个地方更改消息,是否可以不编写 自定义验证?
有用于更新错误消息的 API :
updateError(name, {message: , assert: , updateClass: true});
Run Code Online (Sandbox Code Playgroud)
但是我无法在window.Parsley上找到方法“ updateError”,并且不清楚我是否可以为“必需消息”验证提供名称的“声明”的含义。
android ×1
delphi ×1
formatting ×1
json ×1
parsley.js ×1
pascal ×1
pretty-print ×1
react-redux ×1
reactjs ×1
redux ×1
seekbar ×1