本篇文章给大家谈谈var的计算值不会影响饼图中的反应,以及var值越大的知识点,同时本文还将给你拓展c#–为什么构造函数不会影响此示例中的属性、c#–饼图中的值、cqrs–事件采购中的反应器/反应是什
本篇文章给大家谈谈var 的计算值不会影响饼图中的反应,以及var值越大的知识点,同时本文还将给你拓展c# – 为什么构造函数不会影响此示例中的属性、c# – 饼图中的值、cqrs – 事件采购中的反应器/反应是什么?、css – Bootstrap .pull-right不会影响.navbar-search等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- var 的计算值不会影响饼图中的反应(var值越大)
- c# – 为什么构造函数不会影响此示例中的属性
- c# – 饼图中的值
- cqrs – 事件采购中的反应器/反应是什么?
- css – Bootstrap .pull-right不会影响.navbar-search
var 的计算值不会影响饼图中的反应(var值越大)
如何解决var 的计算值不会影响饼图中的反应?
在这里你会发现这段代码计算了两个值,分别是 memorizeNum 和 notMemorizeNum
getWordLength();
var memorizeNum = 0;
var notMemorizeNum = 0;
const getWordLength = () => {
data.map((item)=>{
if (item.user_word.memorize === true) {
memorizeNum = memorizeNum + 1
}
if (item.user_word.memorize === false) {
notMemorizeNum = notMemorizeNum + 1
}
})
console.log(memorizeNum) ----- gives 2
console.log(notMemorizeNum) ---- gives 4
}
根据两个console.log,这些会给出两个数字,分别是2和4。这些值应该放在饼图中。这是Rechart库的代码。
return (
<ResponsiveContainer width="100%" height="100%" >
<PieChart width={400} height={400}>
<Pie
dataKey="value"
isAnimationActive={false}
data={[{ id: "finish",value: memorizeNum },{ id: "notFinish",value: notMemorizeNum }]}
cx="50%"
cy="50%"
outerRadius={80}
fill="#8884d8"
label
/>
<Tooltip />
</PieChart>
</ResponsiveContainer>
)
var 的两个值决定了饼的形状,但是,我发现输入的是初始值不管计算的变量值。所以,如果我设置初始值
var memorizeNum = 3;
var notMemorizeNum = 3;
饼图显示了被切成两半的圆的形状。
能否告诉我原因以及如何输入计算变量的值?
解决方法
这里的问题是,您将值存储在不是状态变量的变量中,并且 react 不会监控这些变量的变化,也不会在它们的值发生变化时重新渲染。
因此创建 2 个单独的状态状态或一个状态对象,例如:
const [chartData,setChartData] = useState({memorizeNum: 0,notMemorizeNum : 0});
然后在计算逻辑下用新数据设置它,如:
setChartData({ New data here });
然后将此数据传递给您的图表,例如:
data={[{ id: "finish",value: chartData.memorizeNum },{ id: "notFinish",value: chartData.notMemorizeNum }]}
它会起作用。
c# – 为什么构造函数不会影响此示例中的属性
它不会将p改为TOM和999,而是使用p.age = 99;我们可以很好地改变fred的年龄,构造函数和属性都是公共的,那么我在这里缺少什么?我不想对这段代码做任何事我只想要原因.
using System; class Person { public string fullName; public int age; public Person(string n,int a) { fullName = n; age = a; } public void PrintInfo() { Console.WriteLine("{0} is {1} years old",fullName,age); } } class MainClass { public static void SendAPersonByValue(Person p) { p.age = 99; p = new Person("TOM",999); } public static void Main() { Person fred = new Person("Fred",12); fred.PrintInfo(); SendAPersonByValue(fred); fred.PrintInfo(); } }
解决方法
+------------+ fred ----> | Fred 12 | +------------+
在调用SendAPersonByValue时,p指向同一位置:
+------------+ fred ----> | Fred 12 | +------------+ ^ p ---------+
p.age = 99;现在更改内存中的值:
+------------+ fred ----> | Fred 99 | +------------+ ^ p ---------+
而新人(“TOM”,999);在内存中创建一个新的Person,并且p = …使p指向它:
+------------+ fred ----> | Fred 99 | +------------+ +------------+ p ----> | TOM 999 | +------------+
而这正是弗雷德仍然包含弗雷德,99的原因.
现在,如果你将fred作为ref
parameter传递,p将成为fred的别名:
+------------+ fred/p ----> | Fred 12 | +------------+
在p.age = 99之后:
+------------+ fred/p ----> | Fred 99 | +------------+
在p = new Person(“TOM”,999)之后;:
+------------+ | Fred 99 | (will be garbage collected eventually) +------------+ +------------+ fred/p ----> | TOM 999 | +------------+
c# – 饼图中的值
试着这样做:
对于MVC中的ChartHelper,图像来自this tutorial:
我的代码:
var bytes = new Chart(600,300).AddSeries( chartType: "pie",legend: "Sales in Store per Payment Collected",xValue: viewmodel.SalesInStorePerPaymentCollected.XValues,yValues: viewmodel.SalesInStorePerPaymentCollected.YValues ) .GetBytes("png"); return File(bytes,"image/png");
解决方法
这是我的控制器中的代码:
public ActionResult Chart() { Chart chart = new Chart(); chart.ChartAreas.Add(new ChartArea()); chart.Series.Add(new Series("Data")); chart.Series["Data"].ChartType = SeriesChartType.Pie; chart.Series["Data"]["PieLabelStyle"] = "Outside"; chart.Series["Data"]["PieLineColor"] = "Black"; chart.Series["Data"].Points.DataBindXY( data.Select(data => data.Name.ToString()).ToArray(),data.Select(data => data.Count).ToArray()); //Other chart formatting and data source omitted. MemoryStream ms = new MemoryStream(); chart.SaveImage(ms,ChartimageFormat.Png); return File(ms.ToArray(),"image/png"); }
观点:
<img alt="alternateText" src="@Url.Action("Chart")" />
cqrs – 事件采购中的反应器/反应是什么?
>什么是反应堆?
>反应堆的结构是什么?
>我们如何实施反应堆?
解决方法
这里的想法是你希望语义域事件存储它们,并且能够重放它们,但是你需要对它们进行各种解释才能有效地查询它们.因此,您需要一个投影,表明域事件X表示给定视图的INSERT或UPDATE或DELETE.
因此,投影基本上是域事件和CRUD操作之间的映射.您可能还会说投影是域事件的许多解释之一.
现在,可能需要响应与更新表无关的域事件的操作.例如,每当您收到userLoggedIn事件时,您可能希望向用户发送电子邮件.如果是那个规则就像一个简单的.这基本上就是你所说的反应.您只是以某种自定义方式对域事件做出反应.
因此,反应器(反应的组件)的结构与投影仪的结构非常相似.唯一的区别是反应堆不会更新读取模型,而是执行您想要的任意操作.
换句话说:投影是一种特殊的反应,它始终是关于更新读取模型的.由于这是如此常见,你有一个专门的模式,但一般来说:每当你做一些事情来回应接收事件,这是一个反应.
如果没有更多细节,很难回答如何实施反应堆的问题.在wolkenkit,JavaScript和Node.js的CQRS和事件采购框架,反应堆只不过是流量.流量可以是stateless flows或stateful flows,具体取决于它们是否包含状态.
一个简单的例子(当然特定于wolkenkit)可能如下所示:
''use strict''; const when = { ''userManagement.user.loggedIn'' (event,mark) { // ... mark.asDone(); } }; module.exports = { when };
(免责声明:我是wolkenkit的作者之一,所以请带上一些盐的例子.)
css – Bootstrap .pull-right不会影响.navbar-search
是否有一种明显的方法可以使它与Bootstrap一起使用,或者我是否只需要为浮动右边的nab搜索添加自定义css?
HTML(在rails应用程序中从HAML生成)
<form accept-charset="UTF-8" action="/search"method="get"> <divhttps://www.jb51.cc/tag/dis/" target="_blank">display:inline"> <input name="utf8" type="hidden" value="✓"> </div> <inputid="q" name="q" placeholder="Search" type="text"> </form>
生成的CSS:
.navbar-search { position: relative; float: left; margin-top: 6px; margin-bottom: 0; } bootstrap.css:236 .pull-right { float: right; } bootstrap.css:525
完全导航(从HAML生成):
<div> <div> <div> ... <form accept-charset="UTF-8" action="/search"method="get"><divhttps://www.jb51.cc/tag/dis/" target="_blank">display:inline"><input name="utf8" type="hidden" value="✓"></div> <inputid="q" name="q" placeholder="Search" type="text"> </form> </div> </div> </div>
解决方法
Demo类与最新的引导表一起使用.
今天关于var 的计算值不会影响饼图中的反应和var值越大的讲解已经结束,谢谢您的阅读,如果想了解更多关于c# – 为什么构造函数不会影响此示例中的属性、c# – 饼图中的值、cqrs – 事件采购中的反应器/反应是什么?、css – Bootstrap .pull-right不会影响.navbar-search的相关知识,请在本站搜索。
本文标签: